【问题标题】:Rails concurrent background processesRails 并发后台进程
【发布时间】:2012-02-14 12:50:25
【问题描述】:

我需要在几天的时间里从多个 API 访问和提取数据。这是流数据,因此该过程将一直运行。每个进程都会拉入数据并将其插入到单独的谷歌融合表中。

因为我想在后台运行这些进程并忘记它们,所以只能监控它们是否失败并且不重新启动。

我查看了延迟作业、Resque、Beanstalk 等,我的问题是这些进程能否同时运行。我不想让进程排队,只是在后台运行它们。

我也看过 Spawn,但并不完全明白它是如何工作的。

那么我有哪些选择,有人有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 delayed-job resque spawn


    【解决方案1】:

    我会使用whenever gem 来安排 cron 作业以提取数据。

    every 2.hours do 
      YourApi.do_whatever
      SecondApi.do_the_thing
    end
    

    【讨论】:

    • 这些进程必须是持久的并不断运行,以便在几天内从流式 API 中捕获数据。这就是为什么我不认为像 cron 这样的调度 gem/脚本/应用程序或其他东西对我有用。我愿意被纠正
    • 啊,然后看看上帝,确保你的 proc 正在运行
    【解决方案2】:

    也许自定义后台守护程序更适合您,请查看daemon_generator。但请注意,如果你想同时做一些事情,你可能需要做一些工作,但只是串行处理事情应该很容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多