Rails 4.2/Sidekiq -- 重构作业代码如何影响已经安排好的作业

Rails 4.2/Sidekiq -- how refactoring job code affects already scheduled jobs

我们正在使用 Rails 4.2 和 Sidekiq 来处理作业。我们的应用程序为我们的用户安排在未来某个时间点执行的作业,因此我们可能有数千个当前计划的作业等待执行。

我正在对这些作业的底层代码进行一些实质性的重构,更改参数等等。我的问题是:当我部署我的新代码时,当前挂起的作业——使用旧代码安排的——是否会受到我的新代码的影响运行?

我假设答案是否定的,并且预定作业包括它们要处理的代码。但如果得到一些确认,我会感觉好多了。我的谷歌搜索没有找到答案。

将存储在 Redis 中的作业视为与数据库中的数据完全一样。如果你想改变它们,你需要有一个适当的迁移。

所以你的问题的答案是。计划作业将使用 运行 时部署的代码,而不是计划时部署的代码。