From 1ebf3a2189ca5505e9f251c8d1a4f58d37410fe5 Mon Sep 17 00:00:00 2001 From: oderegis Date: Tue, 28 Nov 2017 09:50:38 +0100 Subject: [PATCH 1/3] Don't throw error if task has been deleted --- celerybeatmongo/schedulers.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/celerybeatmongo/schedulers.py b/celerybeatmongo/schedulers.py index 038d0fb..c263ebd 100644 --- a/celerybeatmongo/schedulers.py +++ b/celerybeatmongo/schedulers.py @@ -89,7 +89,8 @@ def save(self): self._task.save(save_condition={}) except Exception: get_logger(__name__).error(traceback.format_exc()) - + except mongoengine.errors.NotUniqueError: + pass class MongoScheduler(Scheduler): @@ -149,4 +150,7 @@ def schedule(self): def sync(self): for entry in self._schedule.values(): - entry.save() + try: + entry.save() + except mongoengine.errors.NotUniqueError: + pass \ No newline at end of file From bd788b3ec34cec670caad1515596e698bd84cc48 Mon Sep 17 00:00:00 2001 From: oderegis Date: Fri, 6 Apr 2018 09:36:58 +0200 Subject: [PATCH 2/3] Add date when beat apply a job --- celerybeatmongo/schedulers.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/celerybeatmongo/schedulers.py b/celerybeatmongo/schedulers.py index c263ebd..2aa2162 100644 --- a/celerybeatmongo/schedulers.py +++ b/celerybeatmongo/schedulers.py @@ -151,6 +151,10 @@ def schedule(self): def sync(self): for entry in self._schedule.values(): try: + entry.kwargs.update({ + 'date_ref': datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%f") + }) + entry.save() except mongoengine.errors.NotUniqueError: - pass \ No newline at end of file + pass From 7f45171e8a7b91dbdb2e8cd0ce0d1dfc5ef4cd3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20de=20R=C3=A9gis?= Date: Fri, 11 May 2018 11:27:38 +0200 Subject: [PATCH 3/3] Indent --- celerybeatmongo/schedulers.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/celerybeatmongo/schedulers.py b/celerybeatmongo/schedulers.py index 2aa2162..2b56c6c 100644 --- a/celerybeatmongo/schedulers.py +++ b/celerybeatmongo/schedulers.py @@ -92,6 +92,7 @@ def save(self): except mongoengine.errors.NotUniqueError: pass + class MongoScheduler(Scheduler): #: how often should we sync in schedule information @@ -110,19 +111,19 @@ def __init__(self, *args, **kwargs): if hasattr(current_app.conf, "CELERY_MONGODB_SCHEDULER_URL"): self._mongo = mongoengine.connect(db, host=current_app.conf.CELERY_MONGODB_SCHEDULER_URL) get_logger(__name__).info("backend scheduler using %s/%s:%s", - current_app.conf.CELERY_MONGODB_SCHEDULER_URL, - db, self.Model._get_collection().name) + current_app.conf.CELERY_MONGODB_SCHEDULER_URL, + db, self.Model._get_collection().name) else: self._mongo = mongoengine.connect(db) get_logger(__name__).info("backend scheduler using %s/%s:%s", - "mongodb://localhost", - db, self.Model._get_collection().name) + "mongodb://localhost", + db, self.Model._get_collection().name) self._schedule = {} self._last_updated = None Scheduler.__init__(self, *args, **kwargs) self.max_interval = (kwargs.get('max_interval') - or self.app.conf.CELERYBEAT_MAX_LOOP_INTERVAL or 5) + or self.app.conf.CELERYBEAT_MAX_LOOP_INTERVAL or 5) def setup_schedule(self): pass @@ -151,9 +152,9 @@ def schedule(self): def sync(self): for entry in self._schedule.values(): try: - entry.kwargs.update({ + entry.kwargs.update({ 'date_ref': datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%f") - }) + }) entry.save() except mongoengine.errors.NotUniqueError: