Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 7, 2016 11:47:17

to_night
От: Киев
Зарегистрирован: 2013-12-12
Сообщения: 58
Репутация: +  1  -
Профиль   Отправить e-mail  

Celery: смена параметров таска в рантайме.

Итак, есть таск, который использует crontab, и есть некая функция settings, которая возвращает словарь с параметрами (неважно откуда она берет их, допустим берет эти данные от пользовательского интерфейса):

publish_time = settings.publish_time
@periodic_task(run_every=crontab(hour=publish_time.hour, minute=publish_time.minute))
def publish_some():
    """
    Publish some
    Reads `publish_time` once (when the Celery starts)
    """
    ... do something

Проблема. Необходимо, чтобы после смены параметров времени в settings (допустим, юзер поменял время публикации), менялись параметры в таске без перезапуска celery. Как и возможно ли такое осуществить?

Офлайн

#2 Апрель 15, 2016 21:14:04

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Celery: смена параметров таска в рантайме.

а что мешает задать periodict task через админку джанги?

Офлайн

#3 Май 4, 2016 07:21:47

den4ik
Зарегистрирован: 2014-07-20
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

Celery: смена параметров таска в рантайме.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version