From a2cedc3f9b41273639124a41d20331c6c3cda43f Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 11 Jul 2015 00:50:55 -0400 Subject: [PATCH] Fix queue typos. Add a default queue as required by celery. --- mayan/apps/checkouts/apps.py | 31 ++++++++++++++++++++++++------- mayan/apps/common/apps.py | 9 +++++++-- mayan/apps/documents/apps.py | 4 ++-- mayan/settings/base.py | 1 + 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/mayan/apps/checkouts/apps.py b/mayan/apps/checkouts/apps.py index 7b03f15492..5f5e2aa50f 100644 --- a/mayan/apps/checkouts/apps.py +++ b/mayan/apps/checkouts/apps.py @@ -2,6 +2,8 @@ from __future__ import absolute_import, unicode_literals from datetime import timedelta +from kombu import Exchange, Queue + from django.db.models.signals import pre_save from django.utils.translation import ugettext_lazy as _ @@ -22,6 +24,8 @@ from .permissions import ( permission_document_checkin, permission_document_checkin_override, permission_document_checkout ) +from .tasks import task_check_expired_check_outs # NOQA +# Required so that celerybeat can find the task class CheckoutsApp(MayanAppConfig): @@ -46,13 +50,26 @@ class CheckoutsApp(MayanAppConfig): ) ) - app.conf.CELERYBEAT_SCHEDULE.update({ - 'check_expired_check_outs': { - 'task': 'checkouts.tasks.task_check_expired_check_outs', - 'schedule': timedelta(seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL), - 'options': {'queue': 'checkouts'} - }, - }) + app.conf.CELERYBEAT_SCHEDULE.update( + { + 'task_check_expired_check_outs': { + 'task': 'checkouts.tasks.task_check_expired_check_outs', + 'schedule': timedelta(seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL), + }, + } + ) + + app.conf.CELERY_QUEUES.append( + Queue('checkouts_periodic', Exchange('checkouts_periodic'), routing_key='checkouts_periodic', delivery_mode=1), + ) + + app.conf.CELERY_ROUTES.update( + { + 'checkouts.tasks.task_check_expired_check_outs': { + 'queue': 'checkouts_periodic' + }, + } + ) menu_facet.bind_links(links=[link_checkout_info], sources=[Document]) menu_main.bind_links(links=[link_checkout_list]) diff --git a/mayan/apps/common/apps.py b/mayan/apps/common/apps.py index d56c80cfd8..9d6229c931 100644 --- a/mayan/apps/common/apps.py +++ b/mayan/apps/common/apps.py @@ -51,10 +51,15 @@ class CommonApp(MayanAppConfig): def ready(self): super(CommonApp, self).ready() - app.conf.CELERY_QUEUES.append( - Queue('tools', Exchange('tools'), routing_key='tools'), + app.conf.CELERY_QUEUES.extend( + ( + Queue('default', Exchange('default'), routing_key='default'), + Queue('tools', Exchange('tools'), routing_key='tools'), + ) ) + app.conf.CELERY_DEFAULT_QUEUE = 'default' + menu_facet.bind_links(links=[link_current_user_details, link_current_user_locale_profile_details, link_tools, link_setup], sources=['common:current_user_details', 'common:current_user_edit', 'common:current_user_locale_profile_details', 'common:current_user_locale_profile_edit', 'authentication:password_change_view', 'common:setup_list', 'common:tools_list']) menu_main.bind_links(links=[link_about], position=-1) menu_secondary.bind_links( diff --git a/mayan/apps/documents/apps.py b/mayan/apps/documents/apps.py index 9fe6776077..49246691f3 100644 --- a/mayan/apps/documents/apps.py +++ b/mayan/apps/documents/apps.py @@ -137,10 +137,10 @@ class DocumentsApp(MayanAppConfig): app.conf.CELERY_ROUTES.update( { 'documents.tasks.task_check_delete_periods': { - 'queue': 'documents' + 'queue': 'documents_periodic' }, 'documents.tasks.task_check_trash_periods': { - 'queue': 'documents' + 'queue': 'documents_periodic' }, 'documents.tasks.task_clear_image_cache': { 'queue': 'tools' diff --git a/mayan/settings/base.py b/mayan/settings/base.py index 0275e46233..02b7834bc4 100644 --- a/mayan/settings/base.py +++ b/mayan/settings/base.py @@ -267,6 +267,7 @@ CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' TEST_RUNNER = 'djcelery.contrib.test_runner.CeleryTestSuiteRunner' CELERY_QUEUES = [] CELERY_ROUTES = {} +CELERY_CREATE_MISSING_QUEUES = False # ------------ CORS ------------ CORS_ORIGIN_ALLOW_ALL = True # ------ Django REST Swagger -----