mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
implemented helper function 'make_sure_tray_is_running' to run tray
This commit is contained in:
parent
a4bb042337
commit
5bf6985737
2 changed files with 41 additions and 1 deletions
|
|
@ -4,6 +4,7 @@ from .lib import (
|
|||
get_tray_state,
|
||||
is_tray_running,
|
||||
get_tray_server_url,
|
||||
make_sure_tray_is_running,
|
||||
main,
|
||||
)
|
||||
|
||||
|
|
@ -15,5 +16,6 @@ __all__ = (
|
|||
"get_tray_state",
|
||||
"is_tray_running",
|
||||
"get_tray_server_url",
|
||||
"make_sure_tray_is_running",
|
||||
"main",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ from typing import Optional, Dict, Tuple, Any
|
|||
import ayon_api
|
||||
import requests
|
||||
|
||||
from ayon_core.lib import Logger
|
||||
from ayon_core.lib import Logger, get_ayon_launcher_args, run_detached_process
|
||||
from ayon_core.lib.local_settings import get_ayon_appdirs
|
||||
|
||||
|
||||
|
|
@ -356,6 +356,44 @@ def is_tray_running(
|
|||
return state != TrayState.NOT_RUNNING
|
||||
|
||||
|
||||
def make_sure_tray_is_running(
|
||||
ayon_url: Optional[str] = None,
|
||||
variant: Optional[str] = None,
|
||||
env: Optional[Dict[str, str]] = None
|
||||
):
|
||||
"""Make sure that tray for AYON url and variant is running.
|
||||
|
||||
Args:
|
||||
ayon_url (Optional[str]): AYON server url.
|
||||
variant (Optional[str]): Settings variant.
|
||||
env (Optional[Dict[str, str]]): Environment variables for the process.
|
||||
|
||||
"""
|
||||
state = get_tray_state(ayon_url, variant)
|
||||
if state == TrayState.RUNNING:
|
||||
return
|
||||
|
||||
if state == TrayState.STARTING:
|
||||
_wait_for_starting_tray(ayon_url, variant)
|
||||
state = get_tray_state(ayon_url, variant)
|
||||
if state == TrayState.RUNNING:
|
||||
return
|
||||
|
||||
args = get_ayon_launcher_args("tray", "--force")
|
||||
if env is None:
|
||||
env = os.environ.copy()
|
||||
|
||||
if ayon_url:
|
||||
env["AYON_SERVER_URL"] = ayon_url
|
||||
|
||||
# TODO maybe handle variant in a better way
|
||||
if variant:
|
||||
if variant == "staging":
|
||||
args.append("--use-staging")
|
||||
|
||||
run_detached_process(args, env=env)
|
||||
|
||||
|
||||
def main(force=False):
|
||||
from ayon_core.tools.tray.ui import main
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue