我正在工作人员内部呼叫interactor,并且如果交互器失败,我希望Sidekiq作业失败。
def perform(id)
result = RandomInteractor.call(id: id)
# catch and respond to result.failure?
end
现在,这会将作业显示为已完成,而不是失败。
答案 0 :(得分:1)
我以前没有使用过交互器gem,但是根据您的问题,这应该可以:
def perform(id)
result = RandomInteractor.call(id: id)
raise StandardError if result.failure?
end
由于已设置为不重试失败的作业,因此应在引发异常后立即将其标记为“失败”。