使用sidekiq与其他后台进程宝石在rails中进行预定作业?

时间:2016-01-25 18:50:54

标签: ruby-on-rails ruby backgroundworker background-process sidekiq

目前我正在开展竞价网络应用。我们使用状态机来处理各种拍卖状态。当拍卖开始时间等于当前时间时,我们需要触发特定方法。为此,我们使用 sidekiq gem。

请给出一些关于使用sidekiq gem的建议,我们是否可以同时处理更多的拍卖。 sidekiq如何管理这些类型的计划任务?

此外,我们还可以尝试其他哪些方案来实现这些目标?像我们可以尝试的其他宝石/图书馆一样?

请分享一些想法。感谢。

2 个答案:

答案 0 :(得分:0)

sidekiq是最好的,因为它使用线程(更少的内存使用)并在redis中存储作业信息 - 如此之快并且不占用主数据库资源

其他解决方案 -

  1. delayed_job - 在sql db中存储作业信息
  2. resque - 在redis中存储作业信息,但在sidekiq中使用进程而不是线程

答案 1 :(得分:0)

如果你不习惯在Sidekiq中使用线程,你可以在sidekiq.yml中设置它。然后你可以运行2个sidekiq进程。但它会使用更多内存

---
:concurrency: 1