Задержка в постановке задачи на Heroku - PullRequest
1 голос
/ 26 июня 2011

У меня возникла досадная проблема на героку. Локально проблем нет, но в 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'

Что странно, потому что приложение находится в

бамбук мрт-1.9.2

стек.

Есть идеи?

1 Ответ

0 голосов
/ 26 июня 2011

Хорошо, я понял.

Там, где я управляю работниками, у меня есть клиент:

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

И с этим клиентом в очереди я звоню

@client.info(@app)

То есть обработки ошибок нет, и я назвал ее с помощью nil (переменная среды отсутствовала).

Вот так.

...