Anonymous
Vladimir
Tishka17
Tishka17
и по нему ищет
Vladimir
А ты про это
Tishka17
там конечно можно руками, но никто так обычно не делает
Максим
мне вот тоже проект с селери достался по наследству, вот теперь думаю как выпилить его оттуда 😊
Tishka17
в итоге вместо продуманный структуры сообщения имеем побыстрому прикрученные таски
Tishka17
кто-то тут ещё на стабильность celery жаловался
Дмитрий
Дмитрий
Bogdan (SirEdvin)
Vladimir
Из всего, что меня в сельдерее напрягает - это именно конфигурация
Дмитрий
Из минусов не оч удобная дока, чтоб один момент найти пришлось два дня потратить
Но это был достаточно глубокий момент деталей реализции, который в целом врят ли нужен много кому
Tishka17
да у меня дока так и не открывается, потому что на сайте сертификат не тот =D
Bogdan (SirEdvin)
Например, одна из довольно странных, но часто полезных штук, это то, что сообщение будет отправлено в очередь в любом случае
Tishka17
Bogdan (SirEdvin)
Там тупо безконечных цикл в wait в одну секунду :)
Tishka17
lol
Bogdan (SirEdvin)
Из-за этого, если брокер не доступен, можно ловить веселые фризы)
Anonymous
Я слабо знаю селери, но меня откровенно выбешивает навязывание своей архитектуры. Либо так, либо нахуй иди. Блядь, это же просто ебаная продвинутая труба, а не хуй с яицами. Эту трубу я хочу подключить в любом месте без выебонов и боли. Но нихуя
Tishka17
Bogdan (SirEdvin)
Мы, собственно, так это и обнаружили, когда у нас тесты зависали на несколько часов из-за того, что кто-то не замокал задачи)
Tishka17
так же как джанго - не wsgi
Tishka17
Bogdan (SirEdvin)
например?
Очереди по умолчанию всегда durable, например
Anonymous
нет, это не труба.
Если у нее на конце должен быть редис или мемкешед или прочая срань, то труба
Bogdan (SirEdvin)
То есть прям можно работать с celery без нормального знания кролика, хотя бы на первыъ этапах
Bogdan (SirEdvin)
Селери в целом довольно хорошо (я бы сказал, даже слишком хорошо) заботится о гарантиях того, что задача будет таки в очереди
Tishka17
Anonymous
А если вернуться к изначальной проблеме, то ее expire - это просто интерфейс для того же expire редиски, который не гарантирует нихера
Bogdan (SirEdvin)
Возьмите себе rabbitmq и не страдайте
Bogdan (SirEdvin)
И да, expire еще проверяется в самом селери дополнительно
Tishka17
хз, я redis юзал бы в качестве очерели только если могу в любой момент взять и перегенерировать всю очередь
Bogdan (SirEdvin)
Так же, как и eta
Mikhail
Bogdan (SirEdvin)
Без понятия, к сожалению, но мне кажется, это прямо не такой существенный минус, что бы его не брать.
Дмитрий
Bogdan (SirEdvin)
Вам вот прямо нужно точно или +- 1-5 секунд?)
Anonymous
Пара секунд не проблема.
Anonymous
Но не минус
Anonymous
Насколько я вообще понял проблематику - TTL неких записей чуть ли не фундаментальное ограничение если брать точность и надежность. Или лютый оверхед, который никто не хочет, бо случай частный
Bogdan (SirEdvin)
Пара секунд не проблема.
Ну, минут это я загнул. https://www.rabbitmq.com/ttl.html а так вообще написано, что he server guarantees that dead messages will not be delivered using basic.deliver (to a consumer) or included into a basic.get-ok response
Bogdan (SirEdvin)
Tishka17
Bogdan (SirEdvin)
У задач же бывает ttl, разве нет?
Alex
Bogdan (SirEdvin)
Tishka17
Tishka17
интересно как Celery сделает ETA в случае rabbitmq не заблокировав всю очередь?
Bogdan (SirEdvin)
Просто в нормальном брокере сообщений есть прямо "отложенные сообщения"
Bogdan (SirEdvin)
Bogdan (SirEdvin)
Помоему из всех mq только у него как раз и есть
Anonymous
В редиске есть ета. НО ЕСЛИ ВНИМАТЕЛЬНО ПОЧИТАТЬ, то сорямба
Tishka17
в SQS например нету отложенных сообщений если очередь с гарантией порядка
Anonymous
Чуваки, задумайтесь, как вы будете реализовывать отложенный таск на пайтоне голом или другом ЯП?
Tishka17
вообще не представляю как
Bogdan (SirEdvin)
В python на асинхронщине можно проще простого :)
Tishka17
положу в БД и буду поллить =D
Bogdan (SirEdvin)
А так зависит от требований
Alex
Alex
Tishka17
но с поллингом БД есть проблемы с exactly one выполнением
Bogdan (SirEdvin)
Я бы все-таки взял rabbitmq или богопротивных nats
Bogdan (SirEdvin)
У меня так сервис уведомлений так и работает, сами задачи в БД, а распределение задач работает на nats
Ivan
Alex
Bogdan (SirEdvin)
Pavel
Bogdan (SirEdvin)
А, да
Pavel
кафка даёт xD
Tishka17
ну у меня и не было rabiitmq ни разу
Tishka17
кафка и sqs только