From ae803e3ad18bdf0d8793249128a586e5cf22081f Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:14:37 +0200 Subject: [PATCH 1/5] create jobqueue addon --- client/ayon_core/modules/job_queue/version.py | 1 - .../jobqueue/client/ayon_jobqueue}/__init__.py | 0 .../jobqueue/client/ayon_jobqueue}/addon.py | 18 +++++------------- .../ayon_jobqueue}/job_server/__init__.py | 0 .../job_server/job_queue_route.py | 0 .../client/ayon_jobqueue}/job_server/jobs.py | 0 .../client/ayon_jobqueue}/job_server/server.py | 0 .../client/ayon_jobqueue}/job_server/utils.py | 0 .../ayon_jobqueue}/job_server/workers.py | 0 .../job_server/workers_rpc_route.py | 0 .../ayon_jobqueue}/job_workers/__init__.py | 0 .../ayon_jobqueue}/job_workers/base_worker.py | 0 .../jobqueue/client/ayon_jobqueue/version.py | 3 +++ server_addon/jobqueue/package.py | 11 +++++++++++ server_addon/jobqueue/server/__init__.py | 5 +++++ 15 files changed, 24 insertions(+), 14 deletions(-) delete mode 100644 client/ayon_core/modules/job_queue/version.py rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/__init__.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/addon.py (95%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_server/__init__.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_server/job_queue_route.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_server/jobs.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_server/server.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_server/utils.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_server/workers.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_server/workers_rpc_route.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_workers/__init__.py (100%) rename {client/ayon_core/modules/job_queue => server_addon/jobqueue/client/ayon_jobqueue}/job_workers/base_worker.py (100%) create mode 100644 server_addon/jobqueue/client/ayon_jobqueue/version.py create mode 100644 server_addon/jobqueue/package.py create mode 100644 server_addon/jobqueue/server/__init__.py diff --git a/client/ayon_core/modules/job_queue/version.py b/client/ayon_core/modules/job_queue/version.py deleted file mode 100644 index 5becc17c04..0000000000 --- a/client/ayon_core/modules/job_queue/version.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "1.0.0" diff --git a/client/ayon_core/modules/job_queue/__init__.py b/server_addon/jobqueue/client/ayon_jobqueue/__init__.py similarity index 100% rename from client/ayon_core/modules/job_queue/__init__.py rename to server_addon/jobqueue/client/ayon_jobqueue/__init__.py diff --git a/client/ayon_core/modules/job_queue/addon.py b/server_addon/jobqueue/client/ayon_jobqueue/addon.py similarity index 95% rename from client/ayon_core/modules/job_queue/addon.py rename to server_addon/jobqueue/client/ayon_jobqueue/addon.py index 96f6ff0d4d..ffd32feb89 100644 --- a/client/ayon_core/modules/job_queue/addon.py +++ b/server_addon/jobqueue/client/ayon_jobqueue/addon.py @@ -36,10 +36,12 @@ workstations know where to send or receive jobs. passed (this is added mainly for developing purposes) """ -import sys import json import copy import platform +from urllib.parse import urlsplit, urlunsplit + +import requests from ayon_core.addon import AYONAddon, click_wrap from ayon_core.settings import get_studio_settings @@ -48,7 +50,7 @@ from .version import __version__ class JobQueueAddon(AYONAddon): - name = "job_queue" + name = "jobqueue" version = __version__ def initialize(self, studio_settings): @@ -85,11 +87,6 @@ class JobQueueAddon(AYONAddon): @staticmethod def url_conversion(url, ws=False): - if sys.version_info[0] == 2: - from urlparse import urlsplit, urlunsplit - else: - from urllib.parse import urlsplit, urlunsplit - if not url: return url @@ -136,8 +133,6 @@ class JobQueueAddon(AYONAddon): return self._server_url def send_job(self, host_name, job_data): - import requests - job_data = job_data or {} job_data["host_name"] = host_name api_path = "{}/api/jobs".format(self._server_url) @@ -145,8 +140,6 @@ class JobQueueAddon(AYONAddon): return str(post_request.content.decode()) def get_job_status(self, job_id): - import requests - api_path = "{}/api/jobs/{}".format(self._server_url, job_id) return requests.get(api_path).json() @@ -170,7 +163,6 @@ class JobQueueAddon(AYONAddon): @classmethod def start_worker(cls, app_name, server_url=None): - import requests from ayon_applications import ApplicationManager if not server_url: @@ -199,7 +191,7 @@ class JobQueueAddon(AYONAddon): @classmethod def _start_tvpaint_worker(cls, app, server_url): - from ayon_core.hosts.tvpaint.worker import main + from ayon_tvpaint.worker import main executable = app.find_executable() if not executable: diff --git a/client/ayon_core/modules/job_queue/job_server/__init__.py b/server_addon/jobqueue/client/ayon_jobqueue/job_server/__init__.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_server/__init__.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_server/__init__.py diff --git a/client/ayon_core/modules/job_queue/job_server/job_queue_route.py b/server_addon/jobqueue/client/ayon_jobqueue/job_server/job_queue_route.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_server/job_queue_route.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_server/job_queue_route.py diff --git a/client/ayon_core/modules/job_queue/job_server/jobs.py b/server_addon/jobqueue/client/ayon_jobqueue/job_server/jobs.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_server/jobs.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_server/jobs.py diff --git a/client/ayon_core/modules/job_queue/job_server/server.py b/server_addon/jobqueue/client/ayon_jobqueue/job_server/server.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_server/server.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_server/server.py diff --git a/client/ayon_core/modules/job_queue/job_server/utils.py b/server_addon/jobqueue/client/ayon_jobqueue/job_server/utils.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_server/utils.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_server/utils.py diff --git a/client/ayon_core/modules/job_queue/job_server/workers.py b/server_addon/jobqueue/client/ayon_jobqueue/job_server/workers.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_server/workers.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_server/workers.py diff --git a/client/ayon_core/modules/job_queue/job_server/workers_rpc_route.py b/server_addon/jobqueue/client/ayon_jobqueue/job_server/workers_rpc_route.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_server/workers_rpc_route.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_server/workers_rpc_route.py diff --git a/client/ayon_core/modules/job_queue/job_workers/__init__.py b/server_addon/jobqueue/client/ayon_jobqueue/job_workers/__init__.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_workers/__init__.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_workers/__init__.py diff --git a/client/ayon_core/modules/job_queue/job_workers/base_worker.py b/server_addon/jobqueue/client/ayon_jobqueue/job_workers/base_worker.py similarity index 100% rename from client/ayon_core/modules/job_queue/job_workers/base_worker.py rename to server_addon/jobqueue/client/ayon_jobqueue/job_workers/base_worker.py diff --git a/server_addon/jobqueue/client/ayon_jobqueue/version.py b/server_addon/jobqueue/client/ayon_jobqueue/version.py new file mode 100644 index 0000000000..b29847c090 --- /dev/null +++ b/server_addon/jobqueue/client/ayon_jobqueue/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'jobqueue' version.""" +__version__ = "1.1.0" diff --git a/server_addon/jobqueue/package.py b/server_addon/jobqueue/package.py new file mode 100644 index 0000000000..75a7572c4e --- /dev/null +++ b/server_addon/jobqueue/package.py @@ -0,0 +1,11 @@ +name = "jobqueue" +title = "JobQueue" +version = "1.1.0" +client_dir = "ayon_jobqueue" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = { + "tvpaint": ">=0.2.0", +} diff --git a/server_addon/jobqueue/server/__init__.py b/server_addon/jobqueue/server/__init__.py new file mode 100644 index 0000000000..f307779b27 --- /dev/null +++ b/server_addon/jobqueue/server/__init__.py @@ -0,0 +1,5 @@ +from ayon_server.addons import BaseServerAddon + + +class JobQueueAddon(BaseServerAddon): + pass \ No newline at end of file From 5e9a0f5fc4164d6569eba58be2a5f91e8a760ceb Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:15:51 +0200 Subject: [PATCH 2/5] move 'aiohttp_json_rpc' to jobqueue addon --- client/pyproject.toml | 1 - server_addon/jobqueue/client/pyproject.toml | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 server_addon/jobqueue/client/pyproject.toml diff --git a/client/pyproject.toml b/client/pyproject.toml index 5e811321f8..fee7b2fd71 100644 --- a/client/pyproject.toml +++ b/client/pyproject.toml @@ -12,7 +12,6 @@ six = "^1.15" qtawesome = "0.7.3" [ayon.runtimeDependencies] -aiohttp_json_rpc = "*" # TVPaint server aiohttp-middlewares = "^2.0.0" wsrpc_aiohttp = "^3.1.1" # websocket server Click = "^8" diff --git a/server_addon/jobqueue/client/pyproject.toml b/server_addon/jobqueue/client/pyproject.toml new file mode 100644 index 0000000000..f15d4baa92 --- /dev/null +++ b/server_addon/jobqueue/client/pyproject.toml @@ -0,0 +1,6 @@ +[project] +name="jobqueue" +description="AYON JobQueue addon." + +[ayon.runtimeDependencies] +aiohttp_json_rpc = "*" From 075c2ede5cc467c108afffb645e89efdf19d918b Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:16:26 +0200 Subject: [PATCH 3/5] fix import in tvpaint --- server_addon/tvpaint/client/ayon_tvpaint/worker/worker.py | 2 +- server_addon/tvpaint/package.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/server_addon/tvpaint/client/ayon_tvpaint/worker/worker.py b/server_addon/tvpaint/client/ayon_tvpaint/worker/worker.py index aa79fd442c..3a03b54eae 100644 --- a/server_addon/tvpaint/client/ayon_tvpaint/worker/worker.py +++ b/server_addon/tvpaint/client/ayon_tvpaint/worker/worker.py @@ -9,7 +9,7 @@ from ayon_tvpaint.api.communication_server import ( BaseCommunicator, CommunicationWrapper ) -from ayon_core.modules.job_queue.job_workers import WorkerJobsConnection +from ayon_jobqueue.job_workers import WorkerJobsConnection from .worker_job import ProcessTVPaintCommands diff --git a/server_addon/tvpaint/package.py b/server_addon/tvpaint/package.py index eddb112b16..c6c7194312 100644 --- a/server_addon/tvpaint/package.py +++ b/server_addon/tvpaint/package.py @@ -1,9 +1,11 @@ name = "tvpaint" title = "TVPaint" -version = "0.2.1" +version = "0.2.2" client_dir = "ayon_tvpaint" ayon_required_addons = { "core": ">0.3.2", } -ayon_compatible_addons = {} +ayon_compatible_addons = { + "jobqueue": ">=1.1.0", +} From 175b2f879b870c56851971fa2e1ec8baca9bd36b Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:20:32 +0200 Subject: [PATCH 4/5] add empty line --- server_addon/jobqueue/server/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/jobqueue/server/__init__.py b/server_addon/jobqueue/server/__init__.py index f307779b27..9ec74fce53 100644 --- a/server_addon/jobqueue/server/__init__.py +++ b/server_addon/jobqueue/server/__init__.py @@ -2,4 +2,4 @@ from ayon_server.addons import BaseServerAddon class JobQueueAddon(BaseServerAddon): - pass \ No newline at end of file + pass From 192cd147717825511d4d7dbfd4d8bc6c2b849f7e Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:28:30 +0200 Subject: [PATCH 5/5] bump tvpaint client version --- server_addon/tvpaint/client/ayon_tvpaint/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/tvpaint/client/ayon_tvpaint/version.py b/server_addon/tvpaint/client/ayon_tvpaint/version.py index 03419cd02e..cbd6a19229 100644 --- a/server_addon/tvpaint/client/ayon_tvpaint/version.py +++ b/server_addon/tvpaint/client/ayon_tvpaint/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring AYON addon 'tvpaint' version.""" -__version__ = "0.2.1" +__version__ = "0.2.2"