Size: a a a

Django [ru] #STAY HOME

2020 June 06

I

Ivan in Django [ru] #STAY HOME
При работе с Celery одни говорят: Не используйте СУБД как ваш AMQP брокер, другие говорят: не надо кучу параметров в брокер предавать используйте базу и предавайте только идшник в таску. Кому верить?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Ivan
При работе с Celery одни говорят: Не используйте СУБД как ваш AMQP брокер, другие говорят: не надо кучу параметров в брокер предавать используйте базу и предавайте только идшник в таску. Кому верить?
брокер и параметры малость разные вещи
источник

DT

Dan Tyan in Django [ru] #STAY HOME
а вообще оьа совета верны
источник

I

Ivan in Django [ru] #STAY HOME
Ну когда передаешь параметры таска они же в брокере хранятся до вызова?
источник

I

Ivan in Django [ru] #STAY HOME
Dan Tyan
а вообще оьа совета верны
Искать золотую середину?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
брокер эио всегда базв данных
источник

DT

Dan Tyan in Django [ru] #STAY HOME
в первом совете имеется ввиду не использовать основную базу условную постгрю для работы брокера
источник

DT

Dan Tyan in Django [ru] #STAY HOME
а использовать для этой цели более подходящие redis, rabit
источник

DT

Dan Tyan in Django [ru] #STAY HOME
когда говорят не передавать много парамтров тут надо от задачи отталкиваться
источник

O

Olex in Django [ru] #STAY HOME
Artem Gubatenko
покажи пример
вот что получаешься а должно
1)Question
   1.option1
   2.option2
источник

O

Olex in Django [ru] #STAY HOME
Artem Gubatenko
покажи пример
источник

O

Olex in Django [ru] #STAY HOME
Artem Gubatenko
покажи пример
источник

O

Olex in Django [ru] #STAY HOME
Question как лейбл
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Olex
вот что получаешься а должно
1)Question
   1.option1
   2.option2
как форму написал так и получается))

убери поле Question, в answers пропиши forms.ChoiceField(label="Question")

*если ChoiceField тебе подходит
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Olex
Question как лейбл
или там будет динамическое значение?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
тогда в __init__() делай self.fields["answers"].label = "<question value>"
источник

O

Olex in Django [ru] #STAY HOME
Artem Gubatenko
или там будет динамическое значение?
Динамика
источник

O

Olex in Django [ru] #STAY HOME
Artem Gubatenko
тогда в __init__() делай self.fields["answers"].label = "<question value>"
Спс
источник

AS

Alex S in Django [ru] #STAY HOME
Alex Dem
send_daily_cryptocurrency.delay()

ты один раз вызвал его, вот он один раз и присылает)))

надо сделать @periodic_task и подключить его через celery_beat
К сожалению не вышло, вызывал вот так
+ просто таск пробовал и periodic task…. Может не там вызываю функцию с делеем…. Так нет же, ее вроде достаточно 1 раз вызвать чтобы задача выполнялась

app.conf.celery_beat = {
   'send-daily-crypto': {
       'task': 'bot.tasks.send_daily_cryptocurrency',
       'schedule': crontab(minute='*/2'),
   },
}


В логах пишет такое:

[2020-06-06 17:16:12,287: INFO/MainProcess] celery@e6515c58-cbbf-4649-9b39-9f255d406c9d ready.
[2020-06-06 17:16:15,879: INFO/Beat] Writing entries...
источник

AD

Alex Dem in Django [ru] #STAY HOME
Alex S
К сожалению не вышло, вызывал вот так
+ просто таск пробовал и periodic task…. Может не там вызываю функцию с делеем…. Так нет же, ее вроде достаточно 1 раз вызвать чтобы задача выполнялась

app.conf.celery_beat = {
   'send-daily-crypto': {
       'task': 'bot.tasks.send_daily_cryptocurrency',
       'schedule': crontab(minute='*/2'),
   },
}


В логах пишет такое:

[2020-06-06 17:16:12,287: INFO/MainProcess] celery@e6515c58-cbbf-4649-9b39-9f255d406c9d ready.
[2020-06-06 17:16:15,879: INFO/Beat] Writing entries...
.delay() - это просто передача задачи на "плечи celery"
моментально и один раз

у меня, к сожалению, уже не осталось готового паттерна с periodic_task на гит, но я писал года полтора назад, ключевыми аспектами было использование @periodic_task декоратора над функциями и запуск через celery beat
источник