Resque vs Sidekiq? [Tutup]


127

Saat ini saya menggunakan Resqueuntuk proses latar belakang saya tetapi baru-baru ini saya mendengar banyak huff-buff tentang sidekiq. Adakah yang bisa membandingkan / membedakan?

Secara khusus saya ingin tahu apakah ada cara untuk memonitor secara terprogram apakah suatu pekerjaan selesai sidekiq


71
Saya sangat bersemangat melihat bahwa pertanyaan ini belum ditutup sebagai "tidak sesuai untuk SO".
Dogweather

51
Bisakah kita berhenti menutup semua pertanyaan bagus tolong orang. Saya tahu ini cukup luas, juga cukup penting dan cukup menarik.
superluminary

19
Suatu hari mereka akan menciptakan situs di mana programmer dapat mengajukan pertanyaan, dan situs itu akan memungkinkan tanggapan subjektif. Pertanyaan yang dapat diabaikan, atau bahkan dipilih berdasarkan relevansi.
baash05

4
@ baash05 dan itu akan disebut Quora!
nakhli

6
Ini akan disebut Yahoo Answers, dan kualitasnya akan turun drastis.
halfer

Jawaban:


130

Dijual kembali:

Pro:

Cons

  • menjalankan proses per pekerja (menggunakan lebih banyak memori);
  • tidak mencoba lagi pekerjaan (di luar kotak).

Sidekiq:

Pro

  • menjalankan utas per pekerja (menggunakan lebih sedikit memori);
  • less forking (bekerja lebih cepat);
  • lebih banyak opsi di luar kotak.

Cons

  • [besar] membutuhkan keamanan kode Anda dan semua dependensi . Jika Anda menjalankan kode utas yang tidak aman dengan utas, Anda meminta masalah;
  • bekerja pada beberapa rubi lebih baik daripada yang lain (disarankan jruby, efisiensi pada MRI berkurang karena GVL (kunci VM global)).

19
Bagaimana Anda tahu jika Anda menjalankan "utas kode tidak aman"?
Dogweather

4
Misalnya, jika Anda menyimpan status dalam variabel global, maka Anda dalam kesulitan :) Adapun permata, berikut adalah beberapa di wiki .
Sergio Tulentsev

25
@ Mrbrdo Anda tidak bisa salah lagi. GVL tidak ada hubungannya dengan keamanan kode ruby ​​Anda. GVL adalah tentang keamanan kode interpreter ruby ​​(kode MRI C).
radarek

2
Saya harus menentang 'pro' pada Resque yang mengatakan 'Anda dapat menggunakan rubi apa pun'. README untuk Resque hari ini sebenarnya mengatakan 'Kami akan senang mendukung Rubi non-MRI, tetapi mereka mungkin memiliki bug.' github.com/resque/resque/blob/master/README.md#requirements
JellicleCat

2
Saya terutama akan menghindari Sidekiq jika Anda berencana untuk menjalankan JavaScript di dalam pekerjaan Anda menggunakan therubyracer. Bukan kesalahan Sidekiq per se tetapi multi-threading menyebabkan masalah bagi therubyracer. Lihat github.com/cowboyd/therubyracer/issues/206
Jeremy Burton

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.