在PHP中使用消息队列与普通Cron作业的区别


Difference between using Message Queue vs Plain Cron Jobs with PHP

我们有一个基于PHP的大型web应用程序。这个应用程序允许调度推文和墙上的帖子,还有从服务器发出的预定电子邮件。

这里的"计划"是指这些PHP脚本计划在特定时间使用cron运行。大约有7个PHP文件可以完成上述工作。

我一直听说消息队列。谁能解释一下消息队列是否最适合这个场景?消息队列执行PHP脚本吗?还是我们需要完全不同的配置?优点/缺点是什么?

使用Crontab使异步任务(从PHP代码异步)是一种基本方法,而使用作业/任务队列管理器是一种精细的方法,可以为您提供更多的控制,功能和可伸缩性/弹性。

Crontab非常容易处理,但没有提供很多功能。

另一方面,部署任务队列(及其消息代理)需要更多的时间。您必须首先选择正确的工具,然后学习如何在PHP代码中实现它们。但这是2011年要走的路。

感谢上帝,我不做PHP,但在Python项目中玩过芹菜(加上RabbitMQ);我相信你可以在PHP世界中找到类似的东西。