在heroku上使用delayed_job时难以调试PG Error

时间:2010-09-12 01:20:45

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

我正在尝试使用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

看起来像“delayed_jobs的数据库”试图用一些时髦的东西进行更新,但我不知道那可能是什么......

3 个答案:

答案 0 :(得分:3)

当延迟的作业工作进程尝试存储运行作业的结果时(这是一个单独的错误,顺便说一句),发生了postgres错误。

检查您的delayed_jobs表,特别是last_error列。它应该是text列,但看起来你的是string

答案 1 :(得分:0)

看起来底层错误来自于没有定义该方法的对象上调用“subject”。

答案 2 :(得分:0)

好像你试图输入一个值,该值有超过255个字符到一个具有最大字符255的列。

欢呼声

sameera