使用消息队列与使用 PHP 的普通 Cron 作业之间的区别
Posted
技术标签:
【中文标题】使用消息队列与使用 PHP 的普通 Cron 作业之间的区别【英文标题】:Difference between using Message Queue vs Plain Cron Jobs with PHP 【发布时间】:2012-01-25 20:18:14 【问题描述】:我们有一个基于 php 构建的大型 Web 应用程序。此应用程序允许安排推文和墙帖,并且有预定的电子邮件从服务器发出。
“预定”是指这些 PHP 脚本预定在特定时间使用cron
运行。完成上述工作的 PHP 文件大约有 7 个。
我听说过消息队列。谁能解释消息队列是否最适合这种情况?消息队列是否执行 PHP 脚本?还是我们需要完全不同的配置?有什么优点/缺点?
【问题讨论】:
22 次浏览。任何人?有答案吗? 我也在做同样的事情。你最后做了什么? cron 作业~穷人的消息队列系统。根据网络主机和工作强度,可能会很好。 【参考方案1】:使用Crontab 制作异步任务(与您的PHP 代码异步)是使用作业/任务队列管理器 的基本方法一个精致的,给你更多的控制,权力和可扩展性/弹性。
Crontab 很容易处理,但没有提供很多功能。它最适合计划作业而不是异步任务。
另一方面,部署任务队列(及其message broker)需要更多时间。您必须首先选择正确的工具,然后学习如何在您的 PHP 代码中实现它们。但这是 2011 年要走的路。
感谢上帝,我不使用 PHP,但在 Python 项目中使用过 Celery(加上 RabbitMQ
);我相信您可以在 PHP 世界中找到类似的东西。
【讨论】:
谢谢,斯坦!消息队列是否具有侵入性。意思是,实现消息队列需要在应用程序中更改 PHP 代码? 先验它不是。 但是延迟函数的参数必须是可序列化的,有时你可能会因为一些对象没有得到很好的处理而感到惊讶。 耶。这是 2013 年,同样的规则仍然有效以上是关于使用消息队列与使用 PHP 的普通 Cron 作业之间的区别的主要内容,如果未能解决你的问题,请参考以下文章