Resque vs Sidekiq? [closed]

2019-01-10 00:14发布

I am currently using Resque for my background process but recently I heard a lot of huff-buff about sidekiq. Could anybody compare/differentiate?

In particular I would like to know is there a way to monitor programmatically whether a job is completed in sidekiq

3条回答
你好瞎i
2楼-- · 2019-01-10 00:48

Resque:

Pros:

Cons

  • runs a process per worker (uses more memory);
  • does not retry jobs (out of the box, anyway).

Sidekiq:

Pros

  • runs thread per worker (uses much less memory);
  • less forking (works faster);
  • more options out of the box.

Cons

  • [huge] requires thread-safety of your code and all dependencies. If you run thread-unsafe code with threads, you're asking for trouble;
  • works on some rubies better than others (jruby is recommended, efficiency on MRI is decreased due to GVL (global VM lock)).
查看更多
一纸荒年 Trace。
3楼-- · 2019-01-10 00:50

From the question:

In particular I would like to know is there a way to monitor programmatically whether a job is completed in sidekiq

Here's a solution for that:

  1. Sidekiq::Status gem
  2. Batch API (Sidekiq Pro) - usage
查看更多
混吃等死
4楼-- · 2019-01-10 00:59

Ryan has created a webcast for Sidekiq this week which also include some comparison with Resque. You probably want to check it out:

Url: http://railscasts.com/episodes/366-sidekiq

查看更多
登录 后发表回答