2013-09-10 105 views
0

我是新來的紅寶石... 我該怎麼做,我的控制器的方法每5秒自動啓動?我需要這個嗎?在哪裏閱讀?怎麼辦?現在運行控制器方法每5秒

我的方法是:

def start_new_solving 
    @session = Session.new 
    @user = User.find(:first, conditions: {free: true}) 
    @secret = Secret.find(:first, conditions: {status: "uploaded"}) 
    if @user.present? && @secret.present? 
     @session.status = "start solving" 
     @session.user_id = @user.id 
    end 
    @session.save! 
    @secret.update_attributes(status: "start solving") 
    end 

請給出例子。謝謝)

回答

0

,你可以做到以下幾點:

Thread.new do 
    while true do 
     sleep 5 
     start_new_solving 
    end 
    end 

這是你問

0

當應用程序收到相應的請求時,Rails將運行您的控制器方法。例如:

http://localhost:3000/solver/start_new_solving 

可以稱之爲SolverControllerstart_new_solving方法。

要在5秒後再次運行控制器方法,瀏覽器只需重新​​加載頁面,通過JavaScript:

setTimeout("location.reload(true);", 5000)