Rails的现役可以延迟多长时间?

时间:2018-08-02 11:31:55

标签: ruby-on-rails heroku sidekiq jobs rails-activejob

只是想知道Rails的现役能延迟多长时间?

当前,我将某些工作延迟几天甚至几周,是可以的吗?还是存在最终无法执行的风险?

我当前正在使用heroku并每6个小时重新启动一次服务器,这会影响我的工作和sidekiq吗?

2 个答案:

答案 0 :(得分:1)

我应该很好,因为是您redis db记录/保留了执行作业的日期。

答案 1 :(得分:1)

这取决于您使用的是哪个Active Job适配器:有些根本不支持延迟,有些有时间限制,有些会接受任何值,但是如果进程重新启动会被忘记,而某些(大多数)使用持久性存储,因此任何延迟都可以。 Sidekiq属于后一种类别:重新启动不会引起问题(只要您的服务器正在运行-Heroku会在业余大小的站点处于非活动状态时停止它们,并且计划的作业不会计算在内)。

唯一需要注意的风险是,将使用您在计划作业时传递的参数来计划作业,并使用到期时使用的当前代码运行:延迟时间更长,您在更改时需要更加小心参数的数量(或含义)。