只是想知道Rails的现役能延迟多长时间?
当前,我将某些工作延迟几天甚至几周,是可以的吗?还是存在最终无法执行的风险?
我当前正在使用heroku并每6个小时重新启动一次服务器,这会影响我的工作和sidekiq吗?
答案 0 :(得分:1)
我应该很好,因为是您redis db记录/保留了执行作业的日期。
答案 1 :(得分:1)
这取决于您使用的是哪个Active Job适配器:有些根本不支持延迟,有些有时间限制,有些会接受任何值,但是如果进程重新启动会被忘记,而某些(大多数)使用持久性存储,因此任何延迟都可以。 Sidekiq属于后一种类别:重新启动不会引起问题(只要您的服务器正在运行-Heroku会在业余大小的站点处于非活动状态时停止它们,并且计划的作业不会计算在内)。
唯一需要注意的风险是,将使用您在计划作业时传递的参数来计划作业,并使用到期时使用的当前代码运行:延迟时间更长,您在更改时需要更加小心参数的数量(或含义)。