Получение PG Error трудно отлаживать при использовании delayed_job на heroku - PullRequest
1 голос
/ 12 сентября 2010

Я пытаюсь использовать heroku и, похоже, получаю сообщение об ошибке Postgres, но у меня недостаточно информации, чтобы знать, что исправить.

Ошибка приведена ниже, и похоже, что она пытается запуститьdelayed_job:

> PGError: ERROR:  value too long for
> type character varying(255) : UPDATE
> "delayed_jobs" SET "updated_at" =
> '2010-09-12 01:06:59.354515', "last_e
> rror" = E'undefined method `subject''
> for #<YAML::Object:0x2b19faeca308>

Вот как я вызываю его из cron.rake:

    Delayed::Job.enqueue SomeMailJob.new(contact,contact_email)

SomeMailJob определяется через этот файл:

 class SomeMailJob < Struct.new(:contact, :contact_email) 
   def perform
     OutboundMailer.deliver_campaign_email(contact,contact_email)
   end
 end

It "Похоже, что база данных для delayed_jobs пытается что-то обновить, но я понятия не имею, что это может быть .....

Ответы [ 3 ]

3 голосов
/ 12 сентября 2010

Ошибка postgres возникает, когда рабочий процесс с отложенным заданием пытается сохранить результат выполнения задания (кстати, это была отдельная ошибка).

Проверьте таблицу delayed_jobs, в частности столбец last_error. Это должен быть столбец text, но, похоже, ваш string.

0 голосов
/ 12 сентября 2010

Похоже, что вы пытаетесь ввести значение, которое имеет более 255 символов в столбце с максимальным значением 255.

ура

sameera

0 голосов
/ 12 сентября 2010

Похоже, основная ошибка связана с вызовом объекта для объекта, для которого этот метод не определен.

...