在Heroku的Rails应用程序中,我想在将来的5个特定时间执行一个简单的代码块(每个代码大约相隔一天),直到第二个。
如果没有后台流程,有没有一种好方法可以做到这一点?
我不想使用延迟工作,因为它需要一个每月费用约30美元的工作人员实例。似乎没必要。
如果没有延迟工作/ Heroku工作人员,有没有好办法呢?
感谢您的回答 - 看起来没有一个可靠的方法来实现这一目标。跟着迟到的工作。
答案 0 :(得分:1)
使用rake任务和heroku调度程序
https://devcenter.heroku.com/articles/scheduler
调度程序加载项将运行一次性进程,该进程将计入当月的dyno-hours。
答案 1 :(得分:1)
您可以在Heroku Scheduler中使用Rake任务,然后添加一些智能逻辑:sleep until job_is_available if job_is_available_in_less_than_twelve_minutes?
然后,您需要花时间运行代码,并且您的rake任务需要几秒钟来检查作业是否可用。大约1-3美元,因为Heroku支持率到第二。
答案 2 :(得分:1)
您可以使用调度程序执行此操作,只需在任务运行时检查日期/小时等 - 这样您就可以安排每小时的工作(如果这对您有用),然后检查当前的日/时看看它是否是你想要运行的工作,然后在检查中运行它。不理想,但会奏效。
答案 3 :(得分:1)
看那里。这是类似的问题。 Question with answers
答案 4 :(得分:1)