Веб-сервисы + сельдерей - PullRequest
0 голосов
/ 10 мая 2011

Я планирую использовать сельдерей для обработки входящих запросов веб-службы. Я понимаю, что сельдерей используется в основном для обработки асинхронных задач. Однако у сельдерея есть много функций, которые мне нравятся и которые могут быть полезны в моем проекте - приоритеты, ограничения скорости, распределенная архитектура и т. Д.

Я просто борюсь с дизайном. Я хотел бы иметь веб-сервис, который создает и запускает задачу, которая будет вызывать подзадачи. Исходная задача требует результатов из подзадач, а затем, когда исходная задача завершена, я возвращаю результат обратно клиенту через веб-сервис. Я знаю, что могу вызывать задачи синхронно, но это не очень хорошая практика.

Спасибо

1 Ответ

1 голос
/ 10 мая 2011

Разброс / сборка выглядит так, будто это может быть работа с картой / сокращением.Если для вас важна деталь mapreduce, используйте специализированную среду, например Disco или Hadoop.В противном случае вам понадобится какой-нибудь сигнал завершения, чтобы вы могли отправить ответ пользователю, как только все подзадачи выполнены или отменены.Например, счетчик того, сколько подзадач еще предстоит завершить.Подзадача, которая приводит счетчик к нулю, может выдвинуть новую задачу ответа, которая выдвигает ответ пользователю и закрывает круг.

Посмотрите на Mongrel2 , асинхронный веб-фреймворк, напримерэтого вида кругового пути запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...