如果用户登录到我的网站,我正在尝试找出一种策略来触发每 30 分钟运行一次的方法。
我目前有一个称为signed_id?
检查用户是否登录的方法,并且我目前正在使用delayed_job
gem 来处理我的应用程序中的一些其他后台进程。
我听说过whenever
and cron
gems,但我不确定什么最适合我的特殊需要。有什么可以很好用的delayed_job
吗?
如果用户登录到我的网站,我正在尝试找出一种策略来触发每 30 分钟运行一次的方法。
我目前有一个称为signed_id?
检查用户是否登录的方法,并且我目前正在使用delayed_job
gem 来处理我的应用程序中的一些其他后台进程。
我听说过whenever
and cron
gems,但我不确定什么最适合我的特殊需要。有什么可以很好用的delayed_job
吗?
好吧,您可以为每个用户上次触发该方法的时间戳保留一个数据库记录(第一次只是他们登录时),并有一个每分钟运行的 cron。
您将保留客户端首次登录时的服务器端记录,并保持 ping(可能使用 ajax)以确保用户仍处于登录状态。您将使 Javascript 执行一个操作(该操作转到服务器执行您的方法)每 30 分钟一次,当然是根据您首次登录时的服务器端记录计算的。此计数也将每 30 分钟重置一次,继续循环。
我希望这有帮助。
是的,使用 cron 它更灵活且易于使用