Heroku上的延迟作业入队问题

时间:2011-06-26 00:56:47

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

我在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

栈。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。

在我管理员工的地方,我找到了一位客户:

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

这个客户端在enqueue我打电话

@client.info(@app)

所以没有错误处理,我用nil调用了它(缺少一个环境变量)。

多数民众赞成。