Browse Source

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

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

+ 1 - 1
celery/apps/beat.py

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

+ 2 - 0
celery/conf.py

@@ -64,6 +64,7 @@ _DEFAULTS = {
     "CELERYD_LOG_COLOR": False,
     "CELERYD_LOG_COLOR": False,
     "CELERYD_LOG_LEVEL": "WARN",
     "CELERYD_LOG_LEVEL": "WARN",
     "CELERYD_LOG_FILE": None,                       # stderr
     "CELERYD_LOG_FILE": None,                       # stderr
+    "CELERYBEAT_SCHEDULER": "celery.beat.PersistentScheduler",
     "CELERYBEAT_SCHEDULE": {},
     "CELERYBEAT_SCHEDULE": {},
     "CELERYD_STATE_DB": None,
     "CELERYD_STATE_DB": None,
     "CELERYD_ETA_SCHEDULER_PRECISION": 1,
     "CELERYD_ETA_SCHEDULER_PRECISION": 1,
@@ -255,6 +256,7 @@ def prepare(m, source=settings, defaults=_DEFAULTS):
     m.CELERYBEAT_LOG_LEVEL = _get("CELERYBEAT_LOG_LEVEL")
     m.CELERYBEAT_LOG_LEVEL = _get("CELERYBEAT_LOG_LEVEL")
     m.CELERYBEAT_LOG_FILE = _get("CELERYBEAT_LOG_FILE")
     m.CELERYBEAT_LOG_FILE = _get("CELERYBEAT_LOG_FILE")
     m.CELERYBEAT_SCHEDULE = _get("CELERYBEAT_SCHEDULE")
     m.CELERYBEAT_SCHEDULE = _get("CELERYBEAT_SCHEDULE")
+    m.CELERYBEAT_SCHEDULER = _get("CELERYBEAT_SCHEDULER")
     m.CELERYBEAT_SCHEDULE_FILENAME = _get("CELERYBEAT_SCHEDULE_FILENAME")
     m.CELERYBEAT_SCHEDULE_FILENAME = _get("CELERYBEAT_SCHEDULE_FILENAME")
     m.CELERYBEAT_MAX_LOOP_INTERVAL = _get("CELERYBEAT_MAX_LOOP_INTERVAL")
     m.CELERYBEAT_MAX_LOOP_INTERVAL = _get("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`.
 The periodic task schedule used by :mod:`~celery.bin.celerybeat`.
 See :ref:`beat-entries`.
 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
 .. setting:: CELERYBEAT_SCHEDULE_FILENAME
 
 
 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
 Can also be set via the :option:`--schedule` argument to
 :mod:`~celery.bin.celerybeat`.
 :mod:`~celery.bin.celerybeat`.