我正在开发一项用户安排他的推文的服务,例如我想在明天下午 12:30 发布一条推文。那怎么办?cron 工作是最好的方法吗?就像每 5 分钟运行一次 cronjob 并查看在此间隔内是否有要发布的推文?有没有其他选择?
问问题
751 次
1 回答
2
运行 cron 作业绝对是最简单的解决方案,但是还有其他方法可用,其中一种方法是使用像Amazons SQS这样的队列
这使您可以简单地将事物放入队列中以供稍后处理,默认情况下它们会立即以准备好立即处理的状态添加到队列中,但是您可以使用时间戳将项目添加到队列中,它们应该保持休眠状态。这将是您的用户预定义的推文时间。
然后,您可以运行一个脚本,该脚本不断侦听队列中需要发送的任何新推文,一旦队列项可用,就会对其进行处理。
这样做的缺点当然是它需要更多的努力,但好处是你可以更容易地扩展,因为你可以让多台机器处理推文并且它们不会两次发送相同的推文(而如果两台机器运行相同的 cron,有机会他们都会发出推文)
于 2013-04-22T07:13:51.960 回答