服务器上的生产环境中的延迟作业失败

Kal*_*are 1 delayed-job ruby-on-rails-3

我正在使用delayed_job gem在我的rails应用程序中发送电子邮件.delayed_job运行良好,但是从最近5天开始,它无效并在delayed_job.log文件中抛出以下错误.

2011-10-09T01:53:04+0530: [Worker(delayed_job host:backupserver pid:23953)] Syck::DomainType#private_group_join_request failed with NoMethodError: undefined method private_group_join_request' for # - 11 failed attempts
2011-10-09T01:53:04+0530: [Worker(delayed_job host:backupserver pid:23953)] 1 jobs processed at 1.4503 j/s, 1 failed ...
2011-10-09T01:54:40+0530: [Worker(delayed_job host:backupserver pid:23953)] Syck::DomainType#contact_us_email failed with NoMethodError: undefined method contact_us_email for # - 11 failed attempts
2011-10-09T01:54:40+0530: [Worker(delayed_job host:backupserver pid:23953)] 1 jobs processed at 4.3384 j/s, 1 failed ...

以下是我如何调用发送电子邮件延迟工作的示例之一.

UserMailer.delay(:run_at => 10.seconds.from_now).contact_us_email(self)
Run Code Online (Sandbox Code Playgroud)

我开始推迟工作了

RAILS_ENV=production script/delayed_job start
Run Code Online (Sandbox Code Playgroud)

它在我的本地计算机上的开发和生产环境中正常工作.

我在Rails应用程序中使用的环境.

  • Rails 3.0.8
  • Linux中的Ruby 1.9.2(Ubuntu)
  • 耙0.9.2
  • delayed_job 2.1.4

与使用script/delay_job创建delayed_job worker时,这与Undefined Method Error相同

但解决方案对我不起作用.

Kal*_*are 5

我想到了.这是由于包" libyaml "包,我的本地系统上没有,但安装在服务器上.