Можно ли использовать сельдерей для синхронных задач? - PullRequest
6 голосов
/ 19 ноября 2010

Почти синхронные работы тоже; В основном я хочу делегировать доступ к данным и их обработку в веб-приложении для очереди задач для большинства заданий. Какую самую быструю задержку я считаю приемлемой для задач с сельдереем?

Обновление (для уточнения)

Полагаю, для ясности я должен объяснить, что пропускная способность - хотя и хорошая - не является для меня необходимой проблемой; Мне пока не понадобится масштабирование в этом направлении. Задержка - единственный критерий, который я буду оценивать в данный момент. Я согласен использовать task.apply, если только так это будет работать, но я бы хотел немного поработать над этим.

1 Ответ

6 голосов
/ 23 ноября 2010

Когда я говорю throughput, я имею в виду среднее время задержки от отправки задачи до ее выполнения. Под roundtrip я подразумеваю среднее время, необходимое для отправки задания, его выполнения, отправки результата назад и получения результата.

Как я уже сказал в комментариях, у меня нет официальных номеров, но правильная конфигурация Celery имеет низкую задержку по сравнению со многими другими решениями, но все же имеет больше накладных расходов, чем локальное выполнение функции. Это необходимо учитывать при проектировании степени детализации задачи [1]

В настоящее время я пишу руководство по производительности, которое может представлять интерес: http://ask.github.com/celery/userguide/optimizing.html

Обратная связь приветствуется и хотела бы знать о любых других факторах производительности, которые вас интересуют.

[1] http://celeryq.org/docs/userguide/tasks.html#granularity

...