我该如何处理从外部API(带有rails)显示最新数据?

时间:2013-01-07 00:48:09

标签: ruby-on-rails ajax web-services api harvest

所以,我正在尝试在我工作的小型设计/开发机构中构建一个小型rails应用程序供内部使用。我对rails非常陌生(我是前端开发者),但我正在学习。

目标是让应用从Harvest提取数据,并显示每位10名员工的每日/每周/每月工时,以及其他信息,例如他们当前是否有效以及百分比是多少他们的工作已经开始计费。信息应该每分钟更新一次。

我只需要一些关于构建此项目的最佳实践的建议,因为我正在使用的大多数数据都来自外部源。我最初尝试在我的pg数据库中为每个用户存储名称,电子邮件和收获ID,然后使用harvest_id作为参考来查询Harvest以获取我需要的数据。以下是我如何抓住工作报告的示例:

    def harvest_user
      harvest.users.find(self.harvest_id)
    end


    def entries(interval, billable)
      user = self.harvest_user
      entries = harvest.reports.time_by_user(user, interval, DateTime.now, billable)
      sum = 0
      entries.each do |entry|
        hrs = entry.hours.to_s.to_f
        sum += hrs
      end
      sum.round(1)
    end

然后我通过对部分渲染数据进行ajax调用来每分钟更新数据。

一切正常,但初始页面加载真的很慢,所以我认为我一定做错了。

有什么建议吗?我觉得我可以抓住一些关于进行一次大api调用然后根据需要过滤掉这些数据的想法,但我不确定从哪里开始。

谢谢!

0 个答案:

没有答案