PHP:使用CLI或Crontab和NOT Sleep()的延迟指令

时间:2012-10-20 09:56:49

标签: php multithreading cron

上下文
我需要通过在离线时向他们发送电子邮件来警告我的网站的用户事件,或者如果他们在线(使用websockets /推送事件),则向他们显示javascript通知。
其中一些事件应在一段时间后触发(针对特定的应用/业务逻辑)。

我不会使用 sleep(),因为它可能会导致性能问题。

您将如何使用Crontab和/或CLI来实现这一目标?

1 个答案:

答案 0 :(得分:0)

如果你有一个插座,你可以发送它,然后它就可以了。你可以检查一下。否则必须邮寄。这就是整个逻辑。所以,试着看看你是否可以发送套接字,否则发送邮件。不要等待它:

为此使用一些队列软件,这实际上是一个干净的消息队列,可以通过非常标准的解决方案来实现。所以只需将其发送到队列并在队列脚本中执行逻辑。

除非你有非常具体的需求,否则你永远不会比那些擅长等待的队列实现更好的等待。

回答更具体的一些选项: http://www.javacodegeeks.com/2012/04/rabbitmq-scheduled-message-delivery.html

Simple scalable work/message queue with delay