Delayed_job:作业无法加载:未初始化的常量Syck :: Syck

这是错误:

>> Delayed::Job.find(:last).last_error => {Job failed to load: uninitialized constant Syck::Syck. Handler: \"--- !ruby/struct:Delayed::PerformableMethod \\nobject: &id007 !ruby/object:TryController \\n _action_name: create 

但我安装了syck ext。

用法:

 def create_user(name,pass,time) puts "hello" Net::HTTP.get(URI.parse("http://www.example.net/buildtest.php?hao=#{name}&mi=#{pass}&da=#{time}")) end def create delay.create_user("nihao000oei9","1","1") end 

gem’delayed_job’,’2.1.4′

ruby 1.9.2p0(2010-08-18修订版29036)[x86_64-darwin10.4.0]

Rails 3.0.1

谢谢。

当我从Rails 2升级到3并部署到Heroku Cedar堆栈时,我发现这是一个问题。 当Delayed_Job尝试从作业队列项反序列化处理程序时,这是一个问题。 默认情况下,它使用Syck YAML解析器。

原来Syck在Heroku Cedar堆栈上不可用。

包括Psych gem并重新部署为我修复它并允许我重新调用失败的作业。

 gem 'psych' 

我刚碰到这个,结果certificate我刚修改的database.yml中存在语法错误。

它对黄瓜使用了错误的参考:

 test: &test database: test cucumber: <<: &base