Skip to content

Commit d78ba7a

Browse files
maciej-golMaciej Gol
andauthored
Make list (#883)
Co-authored-by: Maciej Gol <mg@github.com>
1 parent e645262 commit d78ba7a

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

django_celery_beat/schedulers.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,22 @@ def setup_schedule(self):
263263
def all_as_schedule(self):
264264
debug('DatabaseScheduler: Fetching database schedule')
265265
s = {}
266+
for model in self.enabled_models():
267+
try:
268+
s[model.name] = self.Entry(model, app=self.app)
269+
except ValueError:
270+
pass
271+
return s
272+
273+
def enabled_models(self):
274+
"""Return list of enabled periodic tasks.
275+
276+
Allows overriding how the list of periodic tasks is fetched without
277+
duplicating the filtering/querying logic.
278+
"""
279+
return list(self.enabled_models_qs())
280+
281+
def enabled_models_qs(self):
266282
next_schedule_sync = now() + datetime.timedelta(
267283
seconds=SCHEDULE_SYNC_MAX_INTERVAL
268284
)
@@ -277,12 +293,7 @@ def all_as_schedule(self):
277293
exclude_query = exclude_clock_tasks_query | exclude_cron_tasks_query
278294

279295
# Fetch only the tasks we need to consider
280-
for model in self.Model.objects.enabled().exclude(exclude_query):
281-
try:
282-
s[model.name] = self.Entry(model, app=self.app)
283-
except ValueError:
284-
pass
285-
return s
296+
return self.Model.objects.enabled().exclude(exclude_query)
286297

287298
def _get_crontab_exclude_query(self):
288299
"""

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy