Size: a a a

Django [ru] #STAY HOME

2020 August 07

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Danil
CELERY_TIMEZONE стоит и CELERY_ENABLE_UTC = False
А какая таймзона то стоит в селери? И какая стоит в джанге?
источник

D

Danil in Django [ru] #STAY HOME
такая же как в джанге - CELERY_TIMEZONE = TIME_ZONE
источник

D

Danil in Django [ru] #STAY HOME
TIME_ZONE = "Europe/Kiev"
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Почитай вон первый ответ на стековерфлоу, рекомендуют ставить селери в UTC (я тоже к этому склоняюсь)
источник

D

Danil in Django [ru] #STAY HOME
а потом дататайм конвертировать в UTC?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Danil
Есть проблема с ETA в Celery
Вот как создаю таск:
planned_message.apply_async([leads, message], eta=send_date)
и вот SEND_DATE - 2020-08-07 17:35:00
Но таск почему-то создает в +3 часа
Received task: user_tracker.bitrix.tasks.planned_message[b2136226-4c98-4bd2-be97-762138284b63]  ETA:[2020-08-07 20:35:00+03:00]

Как указать временную зону?
>и вот SEND_DATE - 2020-08-07 17:35:00

Ты вот тут написал свою дейттайм - я не вижу тут вообще таймзоны никакой, поэтому полагаю она распознается как UTC и так?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Viktor Shvaikovskii
Всем привет. Подскажите, пожалуйста, не могу понять в чем проблема. Есть две модели статусы и состояния. В кабинете у пользователя есть четыре кнопки, при нажатии на которые у пользователя должно меняться состояние. Всего кнопки четыре, каждая отвечает за свой статус. Не могу понять, почему при нажатии на кнопку ничего не происходит? Как обрабатывать формы, которые состоят только из кнопок и получать значения кнопок при запросе?
Спасибо за ответы!
https://dpaste.org/X1pc
>при нажатии на кнопку ничего не происходит

Тут подробнее. Вообще ничего не происходит - из браузера даже нет запроса?
Или запрос прилетает на бекенд и ничего не происходит после?
источник

D

Danil in Django [ru] #STAY HOME
Rust Saiargaliev
>и вот SEND_DATE - 2020-08-07 17:35:00

Ты вот тут написал свою дейттайм - я не вижу тут вообще таймзоны никакой, поэтому полагаю она распознается как UTC и так?
Я так понимаю стандартное время системы, ибо вот так конверчу -  send_date = datetime.strptime(send_date, '%d.%m.%Y %H:%M')
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Danil
Я так понимаю стандартное время системы, ибо вот так конверчу -  send_date = datetime.strptime(send_date, '%d.%m.%Y %H:%M')
Ну вот попробуй поменять селери конфиг и посмотри :)
источник

VS

Viktor Shvaikovskii in Django [ru] #STAY HOME
Rust Saiargaliev
>при нажатии на кнопку ничего не происходит

Тут подробнее. Вообще ничего не происходит - из браузера даже нет запроса?
Или запрос прилетает на бекенд и ничего не происходит после?
Уходит запрос, в форму подставляются данные, а в БД ничего не меняется.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Viktor Shvaikovskii
Уходит запрос, в форму подставляются данные, а в БД ничего не меняется.
Ну поставь в update_state брейкпоинт, да посмотри что приходит в request.POST:

import pdb; pdb.set_trace()
источник

D

Danil in Django [ru] #STAY HOME
Rust Saiargaliev
Ну вот попробуй поменять селери конфиг и посмотри :)
А что это должно дать?
источник

D

Danil in Django [ru] #STAY HOME
просто щас передаю в него Киев время, и хочу чтоб он по нему и отправил учитывая что он на него и настроен
источник

D

Danil in Django [ru] #STAY HOME
а он отправляет по UTC
источник

VS

Viktor Shvaikovskii in Django [ru] #STAY HOME
Rust Saiargaliev
Ну поставь в update_state брейкпоинт, да посмотри что приходит в request.POST:

import pdb; pdb.set_trace()
А где именно в теле update_state его надо разместить? Потому что включал в разных местах, ничего не отображает.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Danil
А что это должно дать?
Посмотри ответ на СО. Рекомендация использовать UTC неспроста - избавит тебя от боли при смене летнего и зимнего времени и вот это все.
Когда оно будет унифицировано работать в UTC, тебе нужно просто учитывать это и правильно передавать время в логике
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Viktor Shvaikovskii
А где именно в теле update_state его надо разместить? Потому что включал в разных местах, ничего не отображает.
def update_state(request):
   import pdb; pdb.set_trace()


Как ты сервер запускаешь?
источник

VS

Viktor Shvaikovskii in Django [ru] #STAY HOME
Rust Saiargaliev
def update_state(request):
   import pdb; pdb.set_trace()


Как ты сервер запускаешь?
python manage.py runserver
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Viktor Shvaikovskii
python manage.py runserver
Ну тогда вот поставь брейкпоинт, перезапусти сервер, потом нажми свой кнопку на сайте, вместо того чтоб выполнить код вьюшки, оно остановится на брейкпоинте и можно будет в консоли повыполнять команды и посмотреть данные
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Rust Saiargaliev
Ну тогда вот поставь брейкпоинт, перезапусти сервер, потом нажми свой кнопку на сайте, вместо того чтоб выполнить код вьюшки, оно остановится на брейкпоинте и можно будет в консоли повыполнять команды и посмотреть данные
Если тяжело, можно просто принтом показать request.POST и посмотреть что ты там получаешь
источник