2013-10-17 63 views
-1

我从来没有在ruby中完成任务(没有Rails)。现在我需要做这样的事:按时间执行ruby方法

比方说,我在Ruby类3种方法:

a, b, c 
的主要方法,我需要通过时间来执行方法的

,使运行的方法不是当我运行脚本,但是,当时间已到,例如:

第一必须在11点59分30秒 被执行然后在XX-XX-XX,比环

第一必须在12:00执行: 30 然后在xx-xx-xx中,比在循环中

etc

我需要写什么,到谷歌,或者可能给我一个简单的例子我该怎么做?

我可以做些什么像睡觉,直到时间== 14-50 ...?

+0

这就是所谓的调度:https://www.ruby-toolbox.com/categories/scheduling – Stefan

+0

@Stefan和什么?我需要一些例子,在这里https://github.com/javan/whenever我看到Rails的例子 – brabertaser19

+0

你可能想看看使用某种后台作业过程。如果你这样设置Rails Ruby过程,它可以永久运行。 [一些例子](http://stackoverflow.com/questions/5441221/custom-daemon-with-rails-3)。 – tadman

回答

1

使用sleep t睡觉t秒。

例如a将运行每个t_a秒。 b in t_b and c in t_c seconds。

time = 0; 
while true do 
a if time % t_a == 0 
b if time % t_b == 0 
c if time % t_c == 0 
time += 1 
sleep 1 
end 
+0

我可以做些什么,如睡眠时间== 14-50 ...? – brabertaser19