我在延迟工作中有一份自定义工作:
class ImportJob < Struct.new(:my_datasource)
include Apartment::Delayed::Job::Hooks
def initialize(my_datasource)
@database = Apartment::Database.current_database
@my_datasource = my_datasource
end
def perform
...
end
end
这在开发中很好用,但在Heroku上没有。
调试时,我发现在开发过程中变量database
和my_datasource
已正确设置,但在生产中(在Heroku上),我有@database
和@my_datasource
可用。
我无法理解为什么同一个类不会在两个环境中初始化相同的变量。
任何人都可以请光明并告诉我,如果我做错了什么?
答案 0 :(得分:0)
不确定这是否是正确的解决方案,但我发现Heroku在使用1.9.3时使用的是Ruby 1.9.2。
在Heroku上升级到1.9.3解决了我的问题。