1

我在延迟工作中有一个自定义工作:

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 上却不行。

调试时,我发现在开发中变量databasemy_datasource设置正确,但在生产中(在 Heroku 上),我有@database并且@my_datasource可用。

我不明白为什么同一个类不会在两个环境中初始化相同的变量。

任何人都可以请阐明并告诉我我是否做错了什么?

4

1 回答 1

0

不确定这是否是正确的解决方案,但我发现 Heroku 在我使用 1.9.3 时使用的是 Ruby 1.9.2。

在 Heroku 上升级到 1.9.3 解决了我的问题。

于 2013-03-13T15:36:42.873 回答