1

如果用户登录到我的网站,我正在尝试找出一种策略来触发每 30 分钟运行一次的方法。

我目前有一个称为signed_id?检查用户是否登录的方法,并且我目前正在使用delayed_jobgem 来处理我的应用程序中的一些其他后台进程。

我听说过wheneverand crongems,但我不确定什么最适合我的特殊需要。有什么可以很好用的delayed_job吗?

4

2 回答 2

2

好吧,您可以为每个用户上次触发该方法的时间戳保留一个数据库记录(第一次只是他们登录时),并有一个每分钟运行的 cron。

您将保留客户端首次登录时的服务器端记录,并保持 ping(可能使用 ajax)以确保用户仍处于登录状态。您将使 Javascript 执行一个操作(该操作转到服务器执行您的方法)每 30 分钟一次,当然是根据您首次登录时的服务器端记录计算的。此计数也将每 30 分钟重置一次,继续循环。

我希望这有帮助。

于 2013-02-23T05:12:34.917 回答
0

是的,使用 cron 它更灵活且易于使用

红宝石上的cron

于 2013-02-23T05:05:26.777 回答