Skip to content

Commit 0dada73

Browse files
committed
fix(service): fix side-by-side deployments using same job queues
1 parent 08791a1 commit 0dada73

File tree

6 files changed

+34
-16
lines changed

6 files changed

+34
-16
lines changed

CHANGES.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@
1818
Changes
1919
=======
2020

21+
`0.16.4 <https://github.com/SwissDataScienceCenter/renku-python/compare/v0.16.3...v0.16.4>`__ (2022-01-25)
22+
----------------------------------------------------------------------------------------------------------
23+
24+
This is a backport release that contains changes necessary for 1.0.0 multi-service compatibility.
25+
26+
Bug Fixes
27+
~~~~~~~~~
28+
29+
- **core:** Fix different versions of core-service using same Job queues
30+
2131
`0.16.3 <https://github.com/SwissDataScienceCenter/renku-python/compare/v0.16.2...v0.16.3>`__ (2022-01-21)
2232
----------------------------------------------------------------------------------------------------------
2333

helm-chart/renku-core/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ appVersion: "1.0"
33
description: A Helm chart for Kubernetes
44
name: renku-core
55
icon: https://avatars0.githubusercontent.com/u/53332360?s=400&u=a4311d22842343604ef61a8c8a1e5793209a67e9&v=4
6-
version: 0.16.3
6+
version: 0.16.4

renku/service/cache/base.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from redis import RedisError
2424
from walrus import Database
2525

26-
from renku.service.cache.config import REDIS_DATABASE, REDIS_HOST, REDIS_PASSWORD, REDIS_PORT
26+
from renku.service.cache.config import REDIS_DATABASE, REDIS_HOST, REDIS_NAMESPACE, REDIS_PASSWORD, REDIS_PORT
2727

2828

2929
class BaseCache:
@@ -40,6 +40,7 @@ class BaseCache:
4040

4141
cache = redis.Redis(**config_)
4242
model_db = Database(**config_)
43+
namespace = REDIS_NAMESPACE
4344

4445
def set_record(self, name, key, value):
4546
"""Insert a record to hash set."""

renku/service/cache/config.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,8 @@
2222
REDIS_PORT = int(os.getenv("REDIS_PORT", 6379))
2323
REDIS_DATABASE = int(os.getenv("REDIS_DATABASE", 0))
2424
REDIS_PASSWORD = os.getenv("REDIS_PASSWORD")
25+
26+
REDIS_NAMESPACE = os.getenv("REDIS_NAMESPACE", None)
27+
28+
if REDIS_NAMESPACE:
29+
REDIS_NAMESPACE = f"{REDIS_NAMESPACE}."

renku/service/controllers/api/mixins.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from renku.core.management.config import RENKU_HOME
3030
from renku.core.management.repository import RepositoryApiMixin
3131
from renku.core.utils.contexts import click_context
32+
from renku.service.cache.config import REDIS_NAMESPACE
3233
from renku.service.cache.models.job import Job
3334
from renku.service.cache.models.project import Project
3435
from renku.service.cache.models.user import User
@@ -137,7 +138,7 @@ def execute_op(self):
137138

138139
job = self.cache.make_job(self.user, job_data={"ctrl_context": {**self.context, **ctrl_cls}})
139140

140-
with enqueue_retry(f"delayed.ctrl.{ctrl_cls['renku_ctrl']}") as queue:
141+
with enqueue_retry(f"{REDIS_NAMESPACE}delayed.ctrl.{ctrl_cls['renku_ctrl']}") as queue:
141142
queue.enqueue(delayed_ctrl_job, self.context, self.user_data, job.job_id, **ctrl_cls)
142143

143144
return job

renku/service/jobs/queues.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,23 @@
2121
from rq import Queue
2222

2323
from renku.service.cache.base import BaseCache
24+
from renku.service.cache.config import REDIS_NAMESPACE
2425

25-
CLEANUP_QUEUE_FILES = "cache.cleanup.files"
26-
CLEANUP_QUEUE_PROJECTS = "cache.cleanup.projects"
26+
CLEANUP_QUEUE_FILES = f"{REDIS_NAMESPACE}cache.cleanup.files"
27+
CLEANUP_QUEUE_PROJECTS = f"{REDIS_NAMESPACE}cache.cleanup.projects"
2728

28-
DATASETS_JOB_QUEUE = "datasets.jobs"
29-
MIGRATIONS_JOB_QUEUE = "project.migrations"
30-
GRAPH_JOB_QUEUE = "graph.jobs"
29+
DATASETS_JOB_QUEUE = f"{REDIS_NAMESPACE}datasets.jobs"
30+
MIGRATIONS_JOB_QUEUE = f"{REDIS_NAMESPACE}project.migrations"
31+
GRAPH_JOB_QUEUE = f"{REDIS_NAMESPACE}graph.jobs"
3132

32-
DELAYED_CTRL_DATASETS_CREATE = "delayed.ctrl.DatasetsCreateCtrl"
33-
DELAYED_CTRL_DATASETS_ADD = "delayed.ctrl.DatasetsAddFileCtrl"
34-
DELAYED_CTRL_DATASETS_REMOVE = "delayed.ctrl.DatasetsRemoveCtrl"
35-
DELAYED_CTRL_DATASETS_IMPORT = "delayed.ctrl.DatasetsImportCtrl"
36-
DELAYED_CTRL_DATASETS_EDIT = "delayed.ctrl.DatasetsEditCtrl"
37-
DELAYED_CTRL_DATASETS_UNLINK = "delayed.ctrl.DatasetsUnlinkCtrl"
38-
DELAYED_CTRL_PROJECT_MIGRATE = "delayed.ctrl.MigrateProjectCtrl"
39-
DELAYED_CTRL_CONFIG_SET = "delayed.ctrl.SetConfigCtrl"
33+
DELAYED_CTRL_DATASETS_CREATE = f"{REDIS_NAMESPACE}delayed.ctrl.DatasetsCreateCtrl"
34+
DELAYED_CTRL_DATASETS_ADD = f"{REDIS_NAMESPACE}delayed.ctrl.DatasetsAddFileCtrl"
35+
DELAYED_CTRL_DATASETS_REMOVE = f"{REDIS_NAMESPACE}delayed.ctrl.DatasetsRemoveCtrl"
36+
DELAYED_CTRL_DATASETS_IMPORT = f"{REDIS_NAMESPACE}delayed.ctrl.DatasetsImportCtrl"
37+
DELAYED_CTRL_DATASETS_EDIT = f"{REDIS_NAMESPACE}delayed.ctrl.DatasetsEditCtrl"
38+
DELAYED_CTRL_DATASETS_UNLINK = f"{REDIS_NAMESPACE}delayed.ctrl.DatasetsUnlinkCtrl"
39+
DELAYED_CTRL_PROJECT_MIGRATE = f"{REDIS_NAMESPACE}delayed.ctrl.MigrateProjectCtrl"
40+
DELAYED_CTRL_CONFIG_SET = f"{REDIS_NAMESPACE}delayed.ctrl.SetConfigCtrl"
4041

4142

4243
QUEUES = [

0 commit comments

Comments
 (0)