2013-10-18 2 views
5

어떻게 내 코드가 5 초가 아니라 컴퓨터가 잠자기 전까지는 잠자기 상태가 될 수도 있습니다.특정 시간에 루비 수면

그리 :

sleep(5) 

하지만 뭔가 같은 :

now = DateTime.Now 
while now != "14:40:03" 
    sleep(0.5) 
end 

어떻게 할 올바른?

+1

저는 특정 시간에 어떤 일을하고 싶다고 생각합니까? 유스 케이스 란 무엇입니까? cron 작업을 사용하지 않는 이유는 무엇입니까? – Lavixu

답변

16
require "time" 
sleep(Time.parse("14:40:03") - Time.now) 
1

또는 루퍼스 스케줄러 OpenWFEru/RUOTE 프로젝트에서

https://github.com/jmettraux/rufus-scheduler

를 사용합니다.

require 'rubygems' 
require 'rufus-scheduler' 

scheduler = Rufus::Scheduler.new 

scheduler.in '20m' do 
    #do something 
end 

이것은 실제 수동 대기, 무부하를 제공합니다.

+0

나는 이것을 시도하기 전에, 그러나 : http://stackoverflow.com/questions/19447467/rufus-scheduler-time-format – brabertaser19