Ruby on rails 在Rails中的定时循环上重新生成属性值

Ruby on rails 在Rails中的定时循环上重新生成属性值,ruby-on-rails,ruby,Ruby On Rails,Ruby,好的,所以我的用户模型能够“花费”点数来向其他用户提供业力(任意点数)-每次用户给出一个点数时,他们的业力金额都会减少,正如您所预期的那样。我本来打算制作它,这样一个用户就不能多次给另一个用户karma,但后来我想,如果有一个有限的积分储备来补充,比如说每两天1分,那会更酷 不过,我不太确定如何实现这一点——如果这是我机器上的Ruby脚本,当然可以,但是有没有人在Rails中尝试过类似的东西 我的另一个担忧是,如果每个用户在live应用程序上都有一个滴答作响的时钟,那么整个过程就会变慢。简言之,

好的,所以我的
用户
模型能够“花费”点数来向其他用户提供
业力
(任意点数)-每次
用户
给出一个点数时,他们的
业力金额
都会减少,正如您所预期的那样。我本来打算制作它,这样一个用户就不能多次给另一个用户
karma
,但后来我想,如果有一个有限的积分储备来补充,比如说每两天1分,那会更酷

不过,我不太确定如何实现这一点——如果这是我机器上的Ruby脚本,当然可以,但是有没有人在Rails中尝试过类似的东西

我的另一个担忧是,如果每个用户在live应用程序上都有一个滴答作响的时钟,那么整个过程就会变慢。简言之,我想我要问的是:“Rails-y”的做法是什么?当然,我宁愿找一些健壮或优雅的东西,也不愿意随便乱砍乱砍


非常感谢

您想要的是每段时间(在您的示例中是两个小时)都能运行的东西。操作本身(补充卡玛)可以是一个简单的控制器操作(仍然要确保限制其访问),然后您只需要确保定期调用它


一种非常简单的方法是在服务器上启动对该特定路由的调用。如果您想在rails应用程序中找到一些东西,您可能需要查看后台任务库,例如或。

谢谢,我会查看这些。由于该应用程序不在专用服务器上,我不确定它是否会成为cron作业,但我也将对此进行研究!cron是“简单的方法”。Resque和delayed_job是非常好的库,但需要做一些工作才能使它们正常工作(当然,它们可以做的不仅仅是调度调用)。如果您的功能可以作为路由公开,理论上您可以从可以访问应用程序的任何地方调用If。同样,要注意安全问题(这显然是一个“管理员”功能)。