2011-03-20 62 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' 
相關問題