我是红宝石的新手...... 我怎么办,我的控制器的方法每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 :(得分:0)
您可以执行以下操作:
Thread.new do
while true do
sleep 5
start_new_solving
end
end
这会在你问的时候执行方法
答案 1 :(得分:0)
您可以使用clockwork gem。
答案 2 :(得分:0)
当应用程序收到相应的请求时,Rails会运行您的控制器方法。例如:
http://localhost:3000/solver/start_new_solving
可以调用SolverController
的{{1}}方法。
要在5秒后再次运行控制器方法,浏览器只需重新加载页面,例如通过JavaScript:
start_new_solving