我正在使用Rails 5
一个Heroku
非常精简的支付处理应用程序,它将进行大量处理。
该应用程序没有太多功能,这就是它被托管在那里的原因。然而,它需要 100% 可靠地完成的一件事是运行支付处理作业,并且只运行一次。如果不是 100%(因为没有什么是完美的),那就是 99.9999%。
我选择Delayed Job
了Sidekiq
这个额外的数据库完整性。我也打算使用Clockwork
宝石。
在阅读问题之后,似乎在 dynos 重新启动时,时钟进程运行了很多次。
我想知道用Rails
/解决这个问题的最佳方法是什么Heroku
。尽管重新启动和其他任何事情,我如何才能非常非常可靠地只运行一次某些作业?
另外,我忘了提到某些作业可以多次重新运行。这些作业很可能是每天或随时运行的作业。我真的不关心他们。
然而,我也在谈论 Rails 操作中的作业计划(这些将是关键操作)。如果在操作中重新启动,测功机重新启动是否可能web
会阻止延迟作业从我的代码中安排作业?