这是错误:
>> 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
宝石'delayed_job','2.1.4'
ruby 1.9.2p0(2010-08-18修订版29036)[x86_64-darwin10.4.0]
Rails 3.0.1
感谢。
答案 0 :(得分:1)
当我从Rails 2升级到3并部署到Heroku Cedar堆栈时,我发现这是一个问题。当Delayed_Job
尝试从作业队列项中反序列化处理程序时,这是一个问题。默认情况下,它使用Syck
YAML解析器。
原则上Syck
在Heroku Cedar堆栈上不可用。
包含Psych
gem并重新部署为我修复它并允许我重新调用失败的作业。
gem 'psych'
答案 1 :(得分:0)
我刚碰到这个,结果证明我刚修改过的database.yml中存在语法错误。
它对黄瓜使用了错误的参考:
test: &test
database: test
cucumber:
<<: &base