是否可以对Ruby操作进行字符串/队列处理



我在RoR应用程序中编写了许多操作,这些操作在流程中执行不同的操作。

例如。-一个动作使用API与第三方服务通信并收集数据。-另一个处理这些数据并将其放入相关数据库中。-另一个采用这种新数据,并以特定的方式对其进行格式化。等等。

我想每隔一段时间启动这个过程,例如每小时启动一次。但我不想每次都做整件事。

有时我可能只想做前两个动作。在其他时候,我可能想做这个过程的每一部分。

因此,运行一个操作,然后在完成后调用另一个操作。等。

这些操作可能需要一个小时才能完成,如果不是更长的话,所以我需要一个不会超时的解决方案。

实现这一目标的最佳方式是什么?

您有很多在后台处理作业的选项:

  • Sidekiq:http://mperham.github.io/sidekiq/
  • 队列经典:https://github.com/ryandotsmith/queue_classic
  • 延迟作业:https://github.com/collectiveidea/delayed_job
  • Resque:https://github.com/resque/resque

只要通读一遍,选择一个似乎最符合你标准的。

编辑正如你所阐明的,你想要定期安排的任务。时钟工作是一个很好的宝石(通常是比cron更好的选择):

  • https://github.com/tomykaira/clockwork

最新更新