Разработка системы обработки сообщений - PullRequest
1 голос
/ 25 февраля 2010

Я разрабатываю систему обработки сообщений на основе RabbitMQ для использования с различными веб-приложениями на основе PHP.Демоны PHP будут использоваться для извлечения элементов из очереди и выполнения обработки.

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

Мой вопрос заключается в том, чтобы при таком типе системы

  1. было бы наилучшим способом определять ход отправляемых электронных писем, т. Е. (2/100)
  2. . Знать, когда весь процессзавершено.
  3. Когда известно 2, отправить сообщение обратно в веб-приложение после завершения всего процесса?

Для 1, я думаю, демон отправит сообщениеочередь завершения, но где будет размещен код для пунктов 2 и 3?

Надеюсь, что это имеет смысл.

K

1 Ответ

0 голосов
/ 25 февраля 2010

Похоже, вам нужно событие:) ... PHP (в отличие от Java) не предоставляет события, поэтому единственная опция, которую я вижу, - веб-сервер опрашивает процесс демона. Кроме того, демон может записать состояние завершения в статический файл, который может быть опрошен веб-сервером (небольшое улучшение производительности). Опрашивающим устройством может быть бесконечный цикл javascript (прерывание по типу успеха), который продолжает выполнять ajax-запрос к файлу или веб-серверу.

Вы также можете посмотреть на метод Comet (push-сервер), где демон может отправить данные на сервер по завершении.

Дайте мне знать, если это поможет или вам нужны другие детали.

С уважением Пинаки

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