Чтобы добавлять сообщения и комментарии, .

@fillest:
fillest

github.com
нет слов просто.
tldr: если процесс, взявший таск, кильнётся например oom-киллером, таск будет помечен как обработанный даже при включённом acks_late, и аффтар считает что это_норма.жпг

@webus:
webus

Для тех кто ищет аналог явовского Quartz для Python есть apscheduler apscheduler.readthedocs.org и можно конечно забыть Celery и RQ как страшный сон

@ComradeDOS:
ComradeDOS

Новый Celery деплоится на раз.

@demiazz:
demiazz

Очередное падение Celery. Очередные клюки celerycam. Я уже порываюсь назвать celerycam celerycum'ом >_<

@Equidamoid:
Equidamoid

Создаю задачу, никаких исключений, всё корректно, состояние == pending, и.... ничего. Со стороны celery никакого упоминания об этой задаче (что в логах, что в БД).
get() для объекта result, просто ждёт, пока не прибью.

Воспроизводится не каждый раз, в дебаггере — чаще.
Как отловить?

@demiazz:
demiazz

Ну пиздец классно. Запускаю Celery демон в окружении virtualenvwrapper (то бишь, когда окружение не в самой папке), а задачи оно хочет выполнить в локальном окружении ./venv (пережиток прошлого, до моего перехода на virtualenvwrapper). Спрашивается: каким хуем оно вообще узнает о старом окружении? О_О

@ComradeDOS:
ComradeDOS

[2011-12-07 14:03:26,798: ERROR/Beat] Removing corrupted schedule file 'celerybeat-schedule': error('db type could not be determined',)
И такая беда каждый раз при старте celery. Кто-нибудь с таким сталкивался?

@demiazz:
demiazz

Сижу пускаю слюни на дизайн официальной странички Celery...

@kb:
kb

Сельдерей одновременно и прекрасен и как-то не нравится. И продуман и перемудрён. Блин, снова голову ломать почему :-(

p.s.: но вообще очень крут, и я очень хочу его со всех сторон попробовать/померять производительность.

@demiazz:
demiazz

Для запуска Celery с Django и мониторинга сего действа требуется: запуск rabbitmq-server, celeryd -B -E, celerycam. Не забывайте только ставить -E для celeryd, иначе хрен он чего мониторить будет, даже с включеной камерой. Ах да. Не забудьте подключить django-celery приложение к своему проекту.

P.S. Да. Столько матов было лишь потому, что в документации четко не описано, как именно включается мониторинг, и что нужна и камера, и обязательно events включать. Последнее делается параметром -E, что я не делал, и на что убил кучу нервов.

@demiazz:
demiazz

Celery может и крута, но и как любой навороченный инструмент полна говна, и если что-то не работает — то хрен ты когда найдешь — почему. А как ее настраивать — вообще непонятно, что от чего зависит, и куда лепится. Мониторинг то у нее работает, то не работает, и то... говорится это в одном месте, и вообще не где надо. А у меня, даже с опциями при которых, мониторинг работает — она фиг чего показывает. В общем, я очень разочарован этим инструментом. =((( и чего его так хвалят? нахуя мне background jobs, если я не могу следить за их выполнением %)

@demiazz:
demiazz

Поставил Django, настроил Celery с RabbitMQ, задачи выполняются, ставятся. Поставил django-celery, запустил все это дело, включил камеру. НО. В Django админке задачи не отображаются вообще. Нет результатов их работы. Жуйкоджангисты, ЧЯДНТ?

@demiazz:
demiazz

Идиоты — это ко мне если что. =) Сломал весь мозг. Celery умеет красиво и очень симпатично мониторить состояния задач и прочие вкусности. Но вот незадача. У нас поддержкой и обновлением данных системы (фактически все частые задачи) занимается девушка, которая вообще не айтишница. Подробнее описывать не буду, но грубо говоря, специально для нее сделали промежуточный формат, и прочие вкусные вещи, научили паре команд SVN, и так далее. И теперь стоит задача, сделать мало того, что на базе Celery дополнительную админку "для пользователей", ее надо сделать понятной. И тут вообще взрыв мозга. Как блин вытаскивать инфу из мониторинга — это дело одно, а вот другое дело, как прикрутить названия выполняемых действий к задачам, для user-friendly вида %)

@Nikolay:
Nikolay

отказался от развесистой celery (message queue штуковина для django на 19778 строк кода, не считая внешних либ) в пользу собственной простейшей наколенной redis-based разработки (http://code.google.com/p/redis-queue/ 389 строк). Простота рулит! Всегда понятно что происходит и кто виноват. Осматриваюсь, чего б ещё подупростить...