Rails和Octopus宝石以及延迟工作的问题

时间:2019-02-26 10:41:39

标签: ruby-on-rails delayed-job octopus

我使用章鱼宝石。如果我在活动记录对象上调用延迟方法,则会收到以下错误:

Delayed::DeserializationError:
Job failed to load: undefined method `[]' for nil:NilClass

仅当打开八达通时才会发生错误。

没有对活动记录对象的任何引用的延迟作业按预期方式工作。

解决此问题的唯一方法是更改​​所有代码:

active_record_object.delay.trigger_custom_action(another_active_record_object)

使用一个使用非常原始参数的伪类,并在方法内部重新加载活动记录对象?

class Jobs 
    def self.trigger_custom_action(id1, id2)
        active_record_object = Something.find(id1)
        another_active_record_object = Something.find(id2)
        active_record_object.trigger_custom_action(another_active_record_object)
    end
end
Jobs.trigger_custom_action(active_record_object.id, another_active_record.id)

1 个答案:

答案 0 :(得分:0)

我们决定改用Rails 6的早期版本。我们没有找到解决工人测功机问题的方法。