我的应用程序(在Rails中)应该提供两个主要任务:
我正在考虑使用DelayedJob gem或Whenever gem来执行cron任务。在这些情况下哪个更好?
感谢您的任何建议。
答案 0 :(得分:3)
在未来的特定时间内创建活动(例如发布到Twitter)
如果这是对事件/用户操作的响应,那么后台任务将是理想的,因为它不是常规时间表。 Ruby toolbox似乎更喜欢Resque和Sidekiq而不是延迟工作,所以在解决之前先看看那些。
定期抓取某个网站或下载推文
与上述相反,如果这是一个定期安排的活动,那么cron工作是理想的。使用whenever
对此没有任何问题,但请确保您对作业进行某种形式的监控,以便在出现问题时提醒您。
答案 1 :(得分:1)
为了创建活动,我肯定会使用后台工作来做到这一点(即PostToTwitterJob
)。我偏好Sidekiq
而不是DelayedJob
,因为delayed_job似乎不再有效。如果您希望将来在特定时间执行作业,请查看sidekiq's documentation。
至于爬行,我会同时使用两者。您的抓取工具将成为后台工作(即TweetsCrawlerJob
),您可以使用whenever
每小时启动它。