Size: a a a

2020 November 26

KK

Kirill (Cykooz) Kuzm... in rannts
А у тебя базу данных именно сам Celery юзает, или таски?
источник

KK

Kirill (Cykooz) Kuzm... in rannts
К реббиту он вроде как умеет переподключаться если он отвалился.
источник

DV

Dmitry Viskov in rannts
>А у тебя базу данных именно сам Celery юзает, или таски?

таски
источник

KK

Kirill (Cykooz) Kuzm... in rannts
А эта ошибка разве не должа убить вокер насмерть, после чего его перезапустит мастер-процесс? Или может можно это как-то настроить или реализовать самому?
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Если ты можешь как-то написать код, который сделает реконект в джанге, то можешь попробовать запилить свой базовый класс таски, который будет перехватывать ошибку и пытаться сделать реконект, после чего либо заново запустить таску либо, что наверное лучше, прокинет ошибку и дальше уже будет работать стандартная схема обработки ошибок в тасках.
Так же можно перед запуком таски проверять что есть конект к базе и пытаться его поднять, прежде чем запустить её.
источник

DV

Dmitry Viskov in rannts
Kirill (Cykooz) Kuzminykh
А эта ошибка разве не должа убить вокер насмерть, после чего его перезапустит мастер-процесс? Или может можно это как-то настроить или реализовать самому?
ну в теории должна
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Хотя может я и ошибаюсь, и ошибка в таске не гасит воркер-процесс насмерть
источник

DV

Dmitry Viskov in rannts
источник

DV

Dmitry Viskov in rannts
похоже это баг celery
источник

A

Alex Dobrushskiy in rannts
Dmitry Viskov
Всем привет, вопрос.
Вот есть celery который использует Django ORM и допустим на базе данных происходит outage.  База через некоторое время восстанвливается, а celery автоматический реконнект не делает. Кто-нибудь с таким сталкивался? Если да - то как полечили?
А таска в этом случае просто висит, или падает? Если висит - то сделать чтобы падала по таймауту, и логику перепостановки таски сделать.
источник

A

Alex Dobrushskiy in rannts
У меня был другой немного кейс - селери таска дёргала внешний ресурс, он иногда мог 5хх возвращать, и была логика перепосылки
источник

DV

Dmitry Viskov in rannts
ну проблема не в таске. таска то не теряется. проблема в воркере - что он не перезапускается
источник

A

Alex Dobrushskiy in rannts
Аа, не понял проблемы сразу)
источник

AM

Artem Malyshev in rannts
Dmitry Viskov
Всем привет, вопрос.
Вот есть celery который использует Django ORM и допустим на базе данных происходит outage.  База через некоторое время восстанвливается, а celery автоматический реконнект не делает. Кто-нибудь с таким сталкивался? Если да - то как полечили?
У celery есть сигналы, можно воркер в котором сдох коннект отротировать принудительно, если в сигнале проверить почему умерла таска.
источник

DV

Dmitry Viskov in rannts
Artem Malyshev
У celery есть сигналы, можно воркер в котором сдох коннект отротировать принудительно, если в сигнале проверить почему умерла таска.
О, прикольно! Поизучаю эту тему
источник

AM

Artem Malyshev in rannts
Dmitry Viskov
О, прикольно! Поизучаю эту тему
Основной нюанс, сигналы отрабатывают в ноде, а не в воркере. Последний раз, когда на них смотрел документация была на уровне "есть сигналы".
источник
2020 November 28

БС

Байт Словович... in rannts
https://events.yoomoney.ru/play_yoomoneyday_trek1
Трнасляция конфы от яндекс деньги, если кто забыл, но хотел посмотреть
источник

БС

Байт Словович... in rannts
у них два трека оказывается
https://events.yoomoney.ru/play_yoomoneyday_trek2  (этот менеджерский, а не технический)
источник

RB

Roman Bolkhovitin in rannts
А мне ютуб вот это подсунул

https://youtu.be/brA7HLZEN4w
источник

RB

Roman Bolkhovitin in rannts
Они там opentelemetry продвигали, а тут емнип на него кто-то очень ругался
источник