From 567a7b713dfaeb4abfd1e330caa15dbfc1616e89 Mon Sep 17 00:00:00 2001 From: spoksss Date: Fri, 7 Dec 2018 18:55:03 +0100 Subject: [PATCH] DatabaseScheduler ignores 'expires' option Fix: #393 --- djcelery/schedulers.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/djcelery/schedulers.py b/djcelery/schedulers.py index 29d32b9d..a4aa82e4 100644 --- a/djcelery/schedulers.py +++ b/djcelery/schedulers.py @@ -138,6 +138,13 @@ def from_entry(cls, name, skip_fields=('relative', 'options'), **entry): obj, _ = PeriodicTask._default_manager.update_or_create( name=name, defaults=fields, ) + expires = options.get('expires') + if expires and not obj.expires: + # if expires is not properly recognized from options + # delete django DateTimeField from the model instance + # and use just simple int as attribute for this call + del obj.expires + obj.expires = expires return cls(obj) def __repr__(self):