上下文
我需要通过在他们离线时向他们发送电子邮件来警告我的网站用户发生的事件,或者如果他们在线(使用 websockets/push 事件)向他们显示 javascript 通知。
其中一些事件应在一定时间后触发(针对特定的应用程序/业务逻辑)。
我不会使用sleep()因为它可能会导致性能问题。
您将如何使用 Crontab 和/或 CLI 做到这一点?
上下文
我需要通过在他们离线时向他们发送电子邮件来警告我的网站用户发生的事件,或者如果他们在线(使用 websockets/push 事件)向他们显示 javascript 通知。
其中一些事件应在一定时间后触发(针对特定的应用程序/业务逻辑)。
我不会使用sleep()因为它可能会导致性能问题。
您将如何使用 Crontab 和/或 CLI 做到这一点?
如果您有一个套接字并且您可以发送并且它会被交付,那么就可以了。你可以检查一下。否则必须邮寄。这就是整个逻辑。因此,请尝试查看是否可以通过套接字发送,否则可以发送邮件。不要等待它:
为此使用一些队列软件,这确实是一个干净的消息队列,可以通过非常标准的解决方案来实现。所以只需将其发送到队列并在队列脚本中执行逻辑。
除非您有非常特殊的需求,否则您永远无法比擅长等待的队列更好地实现等待。
一些更具体的回答选项: http ://www.javacodegeeks.com/2012/04/rabbitmq-scheduled-message-delivery.html