2011-06-26 16 views
1

我在heroku上遇到了一個煩人的問題。本地是沒有問題的,但在Heroku的,當我把這:Heroku上的延遲工作入隊問題

Delayed::Job.enqueue PdfImageProcessingJob.new(id) 

我得到這個錯誤:

NoMethodError (undefined method `gsub' for nil:NilClass):

我PdfImageProcessingJob類是種:

class PdfImageProcessingJob < Struct.new(:pdf_id) 
    ... 
end 

跟蹤大約是:

/app/.bundle/gems/ruby/1.9.1/gems/heroku-1.19.1/lib/heroku/client.rb:52:in `info' 
/app/vendor/plugins/delayed_job/lib/delayed/manager/heroku.rb:14:in `qty' 
/app/vendor/plugins/delayed_job/lib/delayed/manager.rb:20:in `method_missing' 
/app/vendor/plugins/delayed_job/lib/delayed/job.rb:272:in `after_create' 
/app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.5/lib/active_support/callbacks.rb:415:in `_run_create_callbacks' 
/app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.0.5/lib/active_record/callbacks.rb:281:in `create' 
/app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.0.5/lib/active_record/persistence.rb:246:in `create_or_update' 

這是奇怪的,因爲應用程序是在

bamboo-mri-1.9.2

堆棧。

有什麼想法?

回答

0

好吧,我明白了。

如果我管理工作者,我有一個客戶端:

@client = ::Heroku::Client.new(username, password) 

而與此客戶在排隊我打電話

@client.info(@app) 

所以沒有錯誤處理,我打電話與零(環境變量缺失)。

就是這樣。

+0

我發現這個頁面出現類似錯誤之後:「rake aborted!undefined method'gsub'for nil:NilClass)」如果有其他人以同樣的角度進來,我的解決方案是更改HireFire配置像這樣變量:「config.environment =:local」用於開發或「:heroku」用於生產。 – MorningHacker