2011-03-20 29 views
2

这里的错误:的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分机。

用法:

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'

红宝石1.9.2p0(2010-08-18的修订29036)[x86_64的-darwin10.4.0]

Rails 3.0.1

谢谢。

+0

什么是Syck :: Syck。 Handler'是它的宝石。确保你将它包含在你的构建器或你的config.rb文件中。更不用说你需要安装插件/宝石,除非它是不同的东西。 – s84 2011-03-20 07:22:17

+0

我从来没有听说过Syck,但当我收到错误时,我添加了'require'syck''到config.rb.但总是出错。 – jean 2011-03-20 07:42:01

+0

您使用的是什么版本的Ruby? – eric 2011-03-20 08:28:41

回答

0

我刚刚遇到了这个,它证明是我修改过的database.yml中的一个语法错误。

它是用黄瓜坏参考:

test: &test 
    database: test 

cucumber: 
    <<: &base 
1

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

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

包括Psych宝石和重新部署固定为我,让我重新调用失败的工作。

gem 'psych' 
相关问题