2016-09-26 56 views
-1

有没有什么办法可以确保某些代码在​​失败或成功后运行事件,就像我们可以在异常处理中编写ensure块一样?确保在rails'延迟作业失败或成功后运行代码

+0

您是否在使用Job?或者你使用它像'user.delay.send_email'? – LolWalid

+0

@LolWalid是的,我正在使用'.delay'来调用你指定的job方法。 'user.delay.send_email' – Swaps

+0

您是否看到我的答案?为什么不把'user.delay.send_email'放到它自己的方法中并在那里使用'ensure'? –

回答

0

以下方法有什么问题?

def delayed_job_method 
    do_the_job 
ensure 
something 
end 
+0

我认为这个语法只适用于'开始 - 救援'块。还是个新手。 将尝试你的解决方案.. :) – Swaps

+0

@Swaps很好,我刚刚给了它一个想法 - 我的方法将确保**在排队工作后马上完成**,而不是在成功或失败之后。 –