我在heroku上遇到了烦人的问题。本地没有问题,但在Heroku中,我称之为:
Delayed::Job.enqueue PdfImageProcessingJob.new(id)
我收到了这个错误:
NoMethodError(未定义的方法`gsub'代表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'
这很奇怪,因为应用程序在
中竹-MRI-1.9.2
栈。
有什么想法吗?
答案 0 :(得分:0)
好的,我明白了。
在我管理员工的地方,我找到了一位客户:
@client = ::Heroku::Client.new(username, password)
这个客户端在enqueue我打电话
@client.info(@app)
所以没有错误处理,我用nil调用了它(缺少一个环境变量)。
多数民众赞成。