2011-07-28 5 views
-1

私はRufus-Scheduler Ruby Gemを利用しているアプリを書いています。これは、実行中のすべてのジョブを表示するときに返されるハッシュのようなものです...Ruby:Rufus-Schedulerのハッシュを理解する

{"Rufus::Scheduler::EveryJob_2154902980"=>#, @jobs=[#, #, @t="20s", @params={:allow_overlapping=>false, :tags=>[]}, @block=#, @running=false, @job_id="Rufus::Scheduler::EveryJob_2174059660", @frequency=20.0, @last=2011-07-28 11:29:55 -0500, @at=1311870615.636462, @last_job_thread=#>, #, @t="20s", @params={:allow_overlapping=>false, :tags=>[]}, @block=#, @running=false, @job_id="Rufus::Scheduler::EveryJob_2172810900", @frequency=20.0, @last=2011-07-28 11:30:02 -0500, @at=1311870622.743519, @last_job_thread=#>, #, @t="20s", @params={:allow_overlapping=>false, :tags=>[]}, @block=#, @running=false, @job_id="Rufus::Scheduler::EveryJob_2163415980", @frequency=20.0, @last=2011-07-28 11:30:10 -0500, @at=1311870630.107751, @last_job_thread=#>, #, @t="20s", @params={:allow_overlapping=>false, :tags=>[]}, @block=#, @running=false, @job_id="Rufus::Scheduler::EveryJob_2163895880", @frequency=20.0, @last=nil, @at=1311870633.0427048>]>, @cron_jobs=#, @jobs=[], @last_cron_second=13>, @frequency=0.33, @thread=#>, @t="20s", @params={:allow_overlapping=>false, :tags=>[]}, @block=#, @running=false, @job_id="Rufus::Scheduler::EveryJob_2154902980", @frequency=20.0, @last=2011-07-28 11:29:53 -0500, @at=1311870613.4696362, @last_job_thread=#>, 

私はこれを処理しようとしています。 JSON文字列に変換しようとしましたが、アプリケーションが壊れてエラーログにIllegal Instructionというエラーが表示されます。

私は.eachでそれの反復を試してみましたが、それは唯一のRufus::Scheduler::EveryJob_2154902980 => #

これを解析して行く方法上の任意のアイデアを返しますか?

+0

あなたは何をしようとしていますか?何を解析する? – austinbv

+0

私は上記の文字列を解析しようとしています。それをループする – dennismonsewicz

+0

文字列が表示されませんか? – austinbv

答えて

1

ハッシュは、ジョブのインスタンスにジョブIDをマッピングしています。コンソールから見ると、すべてが文字列です。

これは役立つはず:

scheduler.all_jobs.each do |job_id, job| 
    p [ job_id, job.class, job.t, job.tags ] 
end 

何かを解析する必要はありません。

+0

説明をありがとう!! – dennismonsewicz

関連する問題