Browse Source

Adds event_queue_prefix setting

Adds event_queue_prefix in app config, defaulting to
'celeryev'.

Uses event_queue_prefix as the default queue prefix in
events.EventReceiver.

Also updates documentation for the event_queue_prefix setting.
Takeshi Kanemoto 9 years ago
parent
commit
df2d437c28
4 changed files with 18 additions and 2 deletions
  1. 1 0
      celery/app/defaults.py
  2. 2 2
      celery/events/__init__.py
  3. 10 0
      docs/configuration.rst
  4. 5 0
      docs/whatsnew-4.0.rst

+ 1 - 0
celery/app/defaults.py

@@ -161,6 +161,7 @@ NAMESPACES = Namespace(
 
         queue_expires=Option(60.0, type='float'),
         queue_ttl=Option(5.0, type='float'),
+        queue_prefix=Option('celeryev'),
         serializer=Option('json'),
     ),
     redis=Namespace(

+ 2 - 2
celery/events/__init__.py

@@ -299,14 +299,14 @@ class EventReceiver(ConsumerMixin):
     app = None
 
     def __init__(self, channel, handlers=None, routing_key='#',
-                 node_id=None, app=None, queue_prefix='celeryev',
+                 node_id=None, app=None, queue_prefix=None,
                  accept=None, queue_ttl=None, queue_expires=None):
         self.app = app_or_default(app or self.app)
         self.channel = maybe_channel(channel)
         self.handlers = {} if handlers is None else handlers
         self.routing_key = routing_key
         self.node_id = node_id or uuid()
-        self.queue_prefix = queue_prefix
+        self.queue_prefix = queue_prefix or self.app.conf.event_queue_prefix
         self.exchange = get_exchange(
             self.connection or self.app.connection_for_write())
         self.queue = Queue(

+ 10 - 0
docs/configuration.rst

@@ -96,6 +96,7 @@ rush in moving to the new settings format.
 ``CELERY_MONGODB_BACKEND_SETTINGS``    :setting:`mongodb_backend_settings`
 ``CELERY_EVENT_QUEUE_EXPIRES``         :setting:`event_queue_expires`
 ``CELERY_EVENT_QUEUE_TTL``             :setting:`event_queue_ttl`
+``CELERY_EVENT_QUEUE_PREFIX``          :setting:`event_queue_prefix`
 ``CELERY_EVENT_SERIALIZER``            :setting:`event_serializer`
 ``CELERY_REDIS_DB``                    :setting:`redis_db`
 ``CELERY_REDIS_HOST``                  :setting:`redis_host`
@@ -2095,6 +2096,15 @@ event queue will be deleted (``x-expires``).
 
 Default is never, relying on the queue auto-delete setting.
 
+.. setting:: event_queue_prefix
+
+``event_queue_prefix``
+~~~~~~~~~~~~~~~~~~~~~~
+
+The prefix to use for event receiver queue names.
+
+The default is ``celeryev``.
+
 .. setting:: event_serializer
 
 ``event_serializer``

+ 5 - 0
docs/whatsnew-4.0.rst

@@ -900,6 +900,11 @@ In Other News
     The default is 5 seconds, but can be changed using the
     :setting:`event_queue_ttl` setting.
 
+- **Events**: New :setting:`event_queue_prefix` setting can now be used
+  to change the default ``celeryev`` queue prefix for event receiver queues.
+
+    Contributed by Takeshi Kanemoto.
+
 - **Events**: Event monitors now sets the :setting:`event_queue_expires`
   setting by default.