Skip to content

Commit d51be79

Browse files
author
Maciej Gol
committed
Make list
1 parent 87c0597 commit d51be79

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

django_celery_beat/schedulers.py

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

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

288299
def _get_crontab_exclude_query(self):
289300
"""

0 commit comments

Comments
 (0)