Как запустить несколько параллельных потребителей Rabbitmq/AMQP в PHP и / или Symfony2?

У меня есть сборщик новостей /RSS-агрегация, где я транслирую сообщения через эту библиотеку.

https://github.com/videlalvaro/php-amqplib/

В настоящее время у меня есть 1 вещатель / производитель и 1 потребитель.

Есть ли способ, чтобы несколько потребителей работали параллельно через PHP? Я знаю, что PHP не поддерживает это изначально. Это может быть фактически сделано через cURL, но afaik cURL в основном используется для сетевых / веб-запросов.

Итак, есть ли способ для меня достичь этого в PHP? Конечно, я могу сделать это в Python/Java, но мой уровень не так хорош в обоих.

1 ответ

Вам действительно нужна система обмена сообщениями, как rabbitmq? IMHO gearman - более подходящее решение для вашей задачи. Начать с сайта gearman - это хорошо для начала.

Позволяет выполнять работу параллельно, обрабатывать баланс нагрузки

Вы можете запускать и контролировать несколько экземпляров рабочих параллельно с супервизором. Вот хороший пример, как установить и настроить супервизор

Я использую комбинацию этих двух сервисов для одной и той же задачи - я собираю rss из нескольких источников, и это работает как шарм

$gearman_top
 Queue Name   | Worker Available | Jobs Waiting | Jobs Running
---------------------------------------------------------------
 parseFeed    |               2  |           0  |           0
---------------------------------------------------------------
Другие вопросы по тегам