[英]Sidekiq jobs store references to the class constant and what else? Rails
假设我有一个在这样的单独线程中触发的工作:
TaxCalculator.perform_async({ user_id: user.id, description: 'test description', count: 1 })
说实际的类是这样的:
class TaxCalculator
def perform(args)
user = User.find(args['user_id'])
description = args['description']
#some stuff goes on here
end
end
说队列很长。 有些事情发生了,可能还会进行代码更改和部署。 当工作最终解雇时,需要什么参考。 如果类名更改为其他类似Namespace::TaxCalculator
,那么作业会失败吗? 什么样的参考仍然在Sidekiq工作? 争论? 身份证? 班级的名字?
通过更改结构,您可以使用旧常量作为新链接,例如:
TaxCalculator = Namespace::TaxCalculator
...并且在下一次更新时,您可以删除此链接,因为所有作业都已完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.