2008-11-24 21 views
8

herkes çeşitli arkaplan işleme tekniklerinin yükü bir karşılaştırmasını yaptı?Raylar Arkaplan görev havai

Arkaplan/RB Starling, Workling MemcacheQ Beanstalk Arkaplan İş (Bj) delayed_job (Dj)

Bir dilim bunlardan birini uygulayacak ve aldıkları ne kadar bellek bilmek istiyorum

Bu yüzden karar verme sürecine katılabilirim.

+0

Halen Sidekiq daha iyi bir seçenektir. Burada https://github.com/mperham/sidekiq/wiki fazla bilgi oku –

cevap

4

Rails uygulamanızın kendisine bağlı olarak değişiklik gösterecektir.

Bu işlemcilerin çoğu Rails nesnelerinize bağlı olarak, Rails örneğinin tamamını belleğe yükler. Uygulama belleğiniz, modellerin sayısına, herhangi bir eklentinin etkisine ve çevrenizin geçerli iklim koşullarına bağlı olacaktır.

Birkaç Mongrels ve BackgroundRB çalıştıran bir 256mb Dilim vardı ve arka plan işleminin bir Mongrel örneğiyle aynı bellekte kullanıldığını gördü.

Her zaman sevdiğim bir seçenek, programlanmış mantığınızı bir Denetleyiciye koyup bunu Cget kullanarak, wget veya Curl kullanarak çağırmaktır. Mevcut Rails uygulamasından yararlanacaksınız ve kurulumunda çok az masraf var. Yukarıdaki durumda bu seçenekle gitmemin tek nedeni, her 5 saniyede bir sıranın çarpması için bir gereklilikti (Cron her dakika çalışabilir).

7

Kapsamlı bir karşılaştırmayla da ilgilenirdim, ancak söyleyebileceğim tek şey, BackgroundRB'nin yazar tarafından onaylanmadığı düşüncesidir. EngineYard'da, BackgroundRB ile sorunsuz bir şekilde sorun yaşadıktan sonra özellikle BackgroundJob'u tavsiye ediyorlar. Ancak bahsettiğiniz diğer seçenekler hakkında hiçbir şey duymadım. düşük bakım için

+0

bu ilk bu konuda duydum olduğunu. Bunu söylediğin için teşekkür ederim. –

2

Ben Arkaplan İşi gibi. Rails işleminizde veya cron ile çalışır, böylece izlemek için bir daemon işlemi olmaz. Benim sunucumda Bj şu anda 35636 RSS kullanıyor (yaklaşık bir Rails işlem değeri).

BackgrounDRB kullananları duyduğumda her zaman şaşırıyorum çünkü temelde kullanılmıyor.

+0

Bana aktif olarak bakılıyor. – Tilendor