我想在resque worker完成后执行一些ruby代码。我找到了resque-status gem,可以让你获得一个worker的状态,但是一旦状态从working
变为completed
,我将如何执行一些代码?
答案 0 :(得分:1)
这应该在工作人员工作范围之外处理。 通常,您需要在工作程序修改的数据属性上创建观察者。
例如,如果您的工作人员正在处理传统的ActiveRecord模型,则可以在模型中定义after_update方法(或使用after_update方法在该模型上定义观察者)。 由您来决定在模型中检查什么以确定作业状态(完成,仍在工作等)。
或者,您可以在模型上创建一个state属性,worker将使用传统的AASM样式调用更新模型状态。状态转换回调将处理工作 - >完成事件。