2011-07-28 2 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