是否有" Rails方式"跟踪一段时间内的指标?

时间:2015-07-13 15:27:37

标签: ruby-on-rails

如果我有一个Employees模型并希望跟踪每个星期五我有多少员工并将结果存储在一个文件中,是否有宝石或某些功能可以轻松实现?

我目前的计划是使用clockwork gem(最终部署不是在Unix服务器上,所以不幸的是没有Cron作业)来安排一个只计算员工数量并将其写入a的任务模型。

3 个答案:

答案 0 :(得分:1)

恕我直言,通过Cron /发条或Windows服务完成预定工作将是实现这一目标的最佳方式。您的要求规定必须在特定时间计算总数。此要求与Web应用程序开发框架Rails无关。

答案 1 :(得分:0)

我开始研究这个问题,但我还没有达到我需要的程度。

基本上我的想法是设置一些"设置类" (例如,使用mongoid-app-settings或ActiveRecord等效项),以及类似

的设置
class Stats
    setting :my_stat

    def compute_my_stat
        ...
    end

    def self.compute_statistics
      [:my_stat, ...].each do |stat|
        self.send("compute_"#{stat}")
      end
    end
end

然后,您可以使用所需的调度程序启动一个执行Stats.compute_statistics的机架任务

答案 2 :(得分:0)

好吧,如果你可以使用cron作业,我推荐whenever gem。

如果没有,我不知道您的服务器操作系统,但我认为操作系统有crontab等计划程序。所以你写.rake代码生成文件有总员工。然后输入" cd / path / to / app / root /&&捆绑exec rake NAMESPACE:TASK"通过程序语法

到计划程序