Есть ли готовое решение для менеджмента воркеров для RabbitMQ?
Здравствуйте, для одного PHP проекта понадобилось организовать работу компонентов через сервер сообщений. Выбор пал на RabbitMQ, и тут же встал вопрос, есть ли какое-либо готовое решение для управления воркерами? В идеале, чтобы можно было задать количество воркеров, программа-менеджер бы их создавала, мониторила, "повисшие" - убивала и запускала заново. Гугление и поиск по хабру, к сожалению, результатов не принес. Заранее спасибо.
Для управления воркерами (кол-во, перезапуск в случае падения и тд) лучше всего подойдет supervisord.
Для задания количества воркеров есть параметр numprocs=N, где N - кол-во процессов-воркеров.
Также supervisord имеет веб интерфейс для управлениями процессами.
что бы быть уверенным что консюмеры очереди запущены всегда и перезапускать их если они свалились, проще реализовать простенький CLI скрипт и добавить его в супервизор.
Я на проектах использую RabbitMQBundle (для Symfony). Даже если вы не используете оный, посмотрите как реализовано там.