我正在开发一个 Web 应用程序,该应用程序在发生特定事件时向用户发送文本消息。基本条件如下所示:
- 该事件不止一次发生,但不是以合理可预测的频率发生。
- 我可以随时预测该事件是否会在未来 10 天内发生
- 如果事件发生在该时间段内,我可以预测事件将在 1 秒内发生的时间。
我想在事件发生之前(约 5 分钟)向用户发送短信。
在未来某个时间“安排”方法调用(发送文本)的最佳方式是什么?
我正在开发一个 Web 应用程序,该应用程序在发生特定事件时向用户发送文本消息。基本条件如下所示:
我想在事件发生之前(约 5 分钟)向用户发送短信。
在未来某个时间“安排”方法调用(发送文本)的最佳方式是什么?
这取决于环境。乍一看,我认为cron是您正在寻找的;在您的服务器上创建一个每分钟调用一个脚本的 crontab 条目,然后该脚本应该查找某个标志(在文件中、数据库中、您认为合适的任何地方)以查看是否有要发送的内容。
基本上,您需要一个队列(用于多个用户)和一个定时 php 脚本。
在 JAVA 中,我会推荐QUARTZ。IS 易于配置,并且支持持久性。
使用每分钟运行一次的 cronjob 并在 6 分钟内查找未通知的任何事件
或使用类似的命令
future_pattern = "%M %H %d %m ? %Y"
command = 'python do_something.py'
evt_tim = datetime.datetime(2013,8,22,14,22) # aug 22,2013 @ 2:22pm
notify_time = evt_time - datetime.timedelta(minutes=5)
subprocess.call("%s %s"%(notify_time.strftime(future_pattern),command)
或使用为此提供的服务,例如 twillio http://blog.iron.io/2012/10/how-to-schedule-sms-and-calls-on-twilio.html