Народ, как можно динамически добавить задание в celery?
раз в 5 минут в логе beat проскакивает строка
beat: Synchronizing schedule...
я так понимаю он чекает своё расписание celerybeat-schedule.dat и если есть то обновляется.
я добавляю туда задачу
with shelve.open("celerybeat-schedule", writeback=True) as db:
new_task = ScheduleEntry(name='one_more_task', task='tasks.super_task',schedule=schedule(run_every=timedelta(minutes=1)), args=[5,])
db['entries'].update({new_task.name:new_task})
Но, к сожалению после обновления ничего не происходит, он так и продолжает выполнять единственную задачу раз в 5 минут, ежеминутную задачу не видит.
Вообще есть возможность добавить задачу без перезапуска beat?
Upd1:
Так, еще дополнение, после синхронизации моя добавленная задача исчезает из файла.
Upd2:
celerybeat-schedule это не расписание, это лишь хранилище куда складывается актуальная информация о выполнении задач, список, количество запусков и прочее...