mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
added cli command for webserver
This commit is contained in:
parent
d5f6ad9fdc
commit
338d12e60c
3 changed files with 35 additions and 6 deletions
|
|
@ -85,3 +85,22 @@ def publishfromapp(project, path, user=None, targets=None):
|
|||
from .publish_functions import cli_publish_from_app
|
||||
|
||||
cli_publish_from_app(project, path, user, targets)
|
||||
|
||||
|
||||
@cli_main.command()
|
||||
@click.option("-h", "--host", help="Host", default=None)
|
||||
@click.option("-p", "--port", help="Port", default=None)
|
||||
@click.option("-e", "--executable", help="Executable")
|
||||
@click.option("-u", "--upload_dir", help="Upload dir")
|
||||
def webserver(executable, upload_dir, host=None, port=None):
|
||||
"""Starts webserver for communication with Webpublish FR via command line
|
||||
|
||||
OP must be congigured on a machine, eg. OPENPYPE_MONGO filled AND
|
||||
FTRACK_BOT_API_KEY provided with api key from Ftrack.
|
||||
|
||||
Expect "pype.club" user created on Ftrack.
|
||||
"""
|
||||
|
||||
from .webserver_service import run_webserver
|
||||
|
||||
run_webserver(executable, upload_dir, host, port)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
from .webserver_cli import run_webserver
|
||||
|
||||
|
||||
__all__ = (
|
||||
"run_webserver",
|
||||
)
|
||||
|
|
@ -32,21 +32,25 @@ from .webpublish_routes import (
|
|||
log = Logger.get_logger("webserver_gui")
|
||||
|
||||
|
||||
def run_webserver(*args, **kwargs):
|
||||
def run_webserver(executable, upload_dir, host=None, port=None):
|
||||
"""Runs webserver in command line, adds routes."""
|
||||
|
||||
if not host:
|
||||
host = "localhost"
|
||||
if not port:
|
||||
port = 8079
|
||||
|
||||
manager = ModulesManager()
|
||||
webserver_module = manager.modules_by_name["webserver"]
|
||||
host = kwargs.get("host") or "localhost"
|
||||
port = kwargs.get("port") or 8079
|
||||
|
||||
server_manager = webserver_module.create_new_server_manager(port, host)
|
||||
webserver_url = server_manager.url
|
||||
# queue for remotepublishfromapp tasks
|
||||
studio_task_queue = collections.deque()
|
||||
|
||||
resource = RestApiResource(server_manager,
|
||||
upload_dir=kwargs["upload_dir"],
|
||||
executable=kwargs["executable"],
|
||||
upload_dir=upload_dir,
|
||||
executable=executable,
|
||||
studio_task_queue=studio_task_queue)
|
||||
projects_endpoint = ProjectsEndpoint(resource)
|
||||
server_manager.add_route(
|
||||
|
|
@ -111,7 +115,7 @@ def run_webserver(*args, **kwargs):
|
|||
last_reprocessed = time.time()
|
||||
while True:
|
||||
if time.time() - last_reprocessed > 20:
|
||||
reprocess_failed(kwargs["upload_dir"], webserver_url)
|
||||
reprocess_failed(upload_dir, webserver_url)
|
||||
last_reprocessed = time.time()
|
||||
if studio_task_queue:
|
||||
args = studio_task_queue.popleft()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue