Skip to content

Commit 095c866

Browse files
committed
chore(controller): refine celery task priority
1 parent a0bf1e1 commit 095c866

3 files changed

Lines changed: 13 additions & 6 deletions

File tree

rootfs/api/models/__init__.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,15 +267,21 @@ def config_changed_handle(sender, instance=None, created=False, update_fields=No
267267
update_fields is not None and (
268268
"cpu" in update_fields or "memory" in update_fields))):
269269
timestamp = time.time()
270-
measure_config.delay(instance.to_measurements(timestamp))
270+
measure_config.apply_async(
271+
args=[instance.to_measurements(timestamp), ],
272+
queue="priority.middle",
273+
)
271274

272275

273276
@receiver(post_save, sender=Volume)
274277
def volume_changed_handle(sender, instance=None, created=False, update_fields=None, **kwargs):
275278
# measure volumes to workflow manager
276279
if settings.WORKFLOW_MANAGER_URL is not None and created:
277280
timestamp = time.time()
278-
measure_volumes.delay(instance.to_measurements(timestamp))
281+
measure_volumes.apply_async(
282+
args=[instance.to_measurements(timestamp), ],
283+
queue="priority.middle",
284+
)
279285

280286

281287
@receiver(post_save, sender=Resource)
@@ -294,4 +300,7 @@ def resource_changed_handle(sender, instance=None, created=False, update_fields=
294300
"plan" in update_fields
295301
))):
296302
timestamp = time.time()
297-
measure_resources.delay(instance.to_measurements(timestamp))
303+
measure_resources.apply_async(
304+
args=[instance.to_measurements(timestamp), ],
305+
queue="priority.middle",
306+
)

rootfs/api/settings/celery.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Config:
1919
result_expires = 24 * 60 * 60
2020
broker_url = os.environ.get('DRYCC_RABBITMQ_URL', 'amqp://guest:guest@127.0.0.1:5672/') # noqa
2121
cache_backend = 'django-cache'
22-
task_default_queue = 'priority.middle'
22+
task_default_queue = 'priority.low'
2323

2424

2525
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'api.settings.production')

rootfs/api/tasks.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
import time
33
import uuid
44
import logging
5-
from datetime import timedelta
65
from typing import List, Dict
76
from django.core import signals
8-
from django.utils.timezone import now
97
from celery import shared_task
108

119
from api import manager

0 commit comments

Comments
 (0)