Browse Source

Added CELERYBEAT_SCHEDULER setting, used to define the default for celerybeats -S option

Ask Solem 14 years ago
parent
commit
3333e655a5
4 changed files with 17 additions and 4 deletions
  1. 1 0
      celery/app/defaults.py
  2. 1 1
      celery/apps/beat.py
  3. 1 0
      celery/conf.py
  4. 14 3
      docs/configuration.rst

+ 1 - 0
celery/app/defaults.py

@@ -114,6 +114,7 @@ NAMESPACES = {
     },
     "CELERYBEAT": {
         "SCHEDULE": Option({}, type="dict"),
+        "SCHEDULER": Option("celery.beat.PersistentScheduler"),
         "SCHEDULE_FILENAME": Option("celerybeat-schedule"),
         "MAX_LOOP_INTERVAL": Option(5 * 60, type="int"),
         "LOG_LEVEL": Option("INFO"),

+ 1 - 1
celery/apps/beat.py

@@ -29,7 +29,7 @@ class Beat(object):
         self.loglevel = loglevel or app.conf.CELERYBEAT_LOG_LEVEL
         self.logfile = logfile or app.conf.CELERYBEAT_LOG_FILE
         self.schedule = schedule or app.conf.CELERYBEAT_SCHEDULE_FILENAME
-        self.scheduler_cls = scheduler_cls
+        self.scheduler_cls = scheduler_cls or app.conf.CELERYBEAT_SCHEDULER
         self.max_interval = max_interval
         self.socket_timeout = socket_timeout
 

+ 1 - 0
celery/conf.py

@@ -112,6 +112,7 @@ RESULT_PERSISTENT = conf.CELERY_RESULT_PERSISTENT
 # :--- Celery Beat                                  <-   --   --- - ----- -- #
 CELERYBEAT_LOG_LEVEL = conf.CELERYBEAT_LOG_LEVEL
 CELERYBEAT_LOG_FILE = conf.CELERYBEAT_LOG_FILE
+CELERYBEAT_SCHEDULER = conf.CELERYBEAT_SCHEDULER
 CELERYBEAT_SCHEDULE = conf.CELERYBEAT_SCHEDULE
 CELERYBEAT_SCHEDULE_FILENAME = conf.CELERYBEAT_SCHEDULE_FILENAME
 CELERYBEAT_MAX_LOOP_INTERVAL = conf.CELERYBEAT_MAX_LOOP_INTERVAL

+ 14 - 3
docs/configuration.rst

@@ -1084,14 +1084,25 @@ CELERYBEAT_SCHEDULE
 The periodic task schedule used by :mod:`~celery.bin.celerybeat`.
 See :ref:`beat-entries`.
 
+.. setting:: CELERYBEAT_SCHEDULER
+
+CELERYBEAT_SCHEDULER
+~~~~~~~~~~~~~~~~~~~~
+
+The default scheduler class.  Default is
+``"celery.beat.PersistentScheduler"``.
+
+Can also be set via the :option:`-S` argument to
+:mod:`~celery.bin.celerybeat`.
+
 .. setting:: CELERYBEAT_SCHEDULE_FILENAME
 
 CELERYBEAT_SCHEDULE_FILENAME
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Name of the file used to stores the last run times.
-Can be a relative or absolute path, but be aware that the suffix ``.db``
-may be appended to the file name (depending on Python version).
+Name of the file used by ``PersistentScheduler`` to store the last run times
+of periodic tasks.  Can be a relative or absolute path, but be aware that the
+suffix ``.db`` may be appended to the file name (depending on Python version).
 
 Can also be set via the :option:`--schedule` argument to
 :mod:`~celery.bin.celerybeat`.