ruby-on-rails - 在钩子导轨之前向活动作业添加属性
问题描述
我即将为作业实现重试逻辑,重试逻辑将基于特定作业的尝试次数。所以我们计划将尝试次数作为作业的属性之一。
这是实现这一目标的一种方法,
# Set no. of attempts in the job data
def serialize
super.merge('no_of_attempts' => (@no_of_attempts || 0) + 1)
end
# Get no. of attempts from the job data
def deserialize(job_data)
super
@no_of_attempts = job_data['no_of_attempts']
end
将尝试计数存储在作业属性中,并根据该属性限制重试计数。
这在使用perform_later
. 我知道在排队作业时只会调用序列化方法。
但在我的一种情况下,我只能使用perform_now
. 我希望应该通过使用活动作业before_perform
方法来为作业添加额外的参数,但不确定如何添加参数。请有任何建议。
解决方案
推荐阅读
- python - Python ThreadPoolExecutor 不会引发错误
- python - Python回归:将所有级别保持在分类中
- r - 在ggplot2中计数
- wpf - Powershell & WPF - 将 MicrosoftTeams 连接传递给 ScriptBlock
- kubernetes - 如何通过声明性管道将 k8s 密钥值传递给 Jenkins
- javascript - 保存预请求脚本中的变量以在新请求中使用
- javascript - 如何使用 cypress 使用 github 测试 auth0 登录
- python - Python 在 json 文本文件中搜索和替换
- flutter - 如何在数据模型中添加子集合?扑
- python - Python 3.10 警告