Разница между использованием очереди сообщений и простых заданий Cron с PHP - PullRequest
7 голосов
/ 22 декабря 2011

У нас есть большое веб-приложение, построенное на PHP. Это приложение позволяет планировать твиты и сообщения на стене, а также отправлять запланированные электронные письма с сервера.

Под «запланированным» я подразумеваю, что это PHP-сценарии, запланированные для запуска в определенное время с использованием cron. Существует около 7 файлов PHP, которые выполняют вышеуказанные задачи.

Я слышал об очередях сообщений. Кто-нибудь может объяснить, подходят ли очереди сообщений в этом сценарии? Выполняют ли очереди сообщений сценарии PHP? или нам нужно настроить это совсем по-другому? Каковы преимущества / недостатки?

1 Ответ

5 голосов
/ 28 декабря 2011

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

Crontab очень прост в обращении, но не предлагает много функциональных возможностей.Лучше всего для запланированных заданий, а не для асинхронных задач.

С другой стороны, развертывание очереди задач (и ее брокер сообщений ) требует больше времени.Сначала вы должны выбрать правильные инструменты, а затем узнать, как реализовать их в своем коде PHP.Но это путь в 2011 году.

Слава Богу, я не занимаюсь PHP, но играл с Celery (в сочетании с RabbitMQ) на Python проектов;Я уверен, что вы можете найти что-то подобное в мире PHP.

...