【发布时间】:2018-08-02 11:31:54
【问题描述】:
只是想知道 Rails 活动作业可以延迟多长时间?
目前我将一些工作延迟数天甚至数周,这样可以吗,还是有最终无法执行的风险?
我目前正在使用 heroku 并每 6 小时重新启动一次服务器,这会影响我的工作和 sidekiq 吗?
【问题讨论】:
标签: ruby-on-rails heroku sidekiq jobs rails-activejob
只是想知道 Rails 活动作业可以延迟多长时间?
目前我将一些工作延迟数天甚至数周,这样可以吗,还是有最终无法执行的风险?
我目前正在使用 heroku 并每 6 小时重新启动一次服务器,这会影响我的工作和 sidekiq 吗?
【问题讨论】:
标签: ruby-on-rails heroku sidekiq jobs rails-activejob
这取决于您使用的是哪个 Active Job 适配器:有些根本不支持延迟,有些有时间限制,有些会接受任何值但如果进程重新启动就会被遗忘,有些(大多数)使用持久存储,所以任何延迟都很好。 Sidekiq 属于后一类:重新启动不会导致问题(只要您的服务器正在运行——Heroku 会在爱好大小的网站不活动时停止它们,并且计划的作业不计入在内)。
唯一需要注意的风险是,作业将使用您在安排它们时传递的参数进行安排,并在它们到期时使用当前的代码运行:延迟时间越长,您在更改时需要更加小心参数的数量[或含义]。
【讨论】:
我应该没问题,因为是你 redis db 记录/保留了执行作业的日期。
【讨论】: