Каждый день у меня ~250 000 повторяющихся задач; примерно пятая часть из них может обновляться с разными запланированными датами каждый день.
Можно ли это сделать эффективно в Celery? - Меня беспокоит это из beat.py сельдерея. :
def tick(self):
"""Run a tick, that is one iteration of the scheduler.
Executes all due tasks.
"""
remaining_times = []
try:
for entry in values(self.schedule):
next_time_to_run = self.maybe_due(entry, self.publisher)
if next_time_to_run:
remaining_times.append(next_time_to_run)
except RuntimeError:
pass
return min(remaining_times + [self.max_interval])
.is_due()
. Если расписание изменено (например, если запись изменена при использовании внутреннего планировщика базы данных), тогда куча должна быть перегенерирована с нуля. - person asksol   schedule 23.01.2014