2012-01-18 10 views
5

Eğer Unicorn, Heroku'da tek bir dyno kurdunuzsa, 3 işçiden bahset. Web isteklerini işleyen 2 çocuk çalışanı ve 1 Resimli kuyruk çocuğu ya da zamanlanmış görevler gibi arka plan işlerini yapan Unicorn çocuğunun olması mümkün mü?Bir tek Boynuzlu çocuk çocuğa bir kuyruk işlemek mümkünken, dinlenme süreci web'de Heroku single Dyno'da istekte bulunuyor mu?

Yoksa bu uygun değil mi?


Şimdi anladım!

Tamam, bu yüzden cevabı kullanıyorum, onu işaret almak için almayı başardım, ama önce birazcık havlamaya başladı. Bu benim için çalıştı.

Procfile

web: bundle exec unicorn_rails -p $PORT -c config/unicorn.rb 

unicorn.rb

worker_processes 2 
preload_app true 
timeout 30 

@resque_pid = nil 

before_fork do |server, worker| 
    @resque_pid ||= spawn("bundle exec rake environment resque:work QUEUE=*") 
end 

after_fork do |server, worker| 
    ActiveRecord::Base.establish_connection 
end 

cevap

1

Kesinlikle mümkün - http://bugsplat.info/2011-11-27-concurrency-on-heroku-cedar.html bir okuma alır. Ama ben kendim denemedim ama yakında olacak. Esasen, bu Heroku esasen gelir kaybına kaybediyor demektir beri değil 'uygunluğu' tamamen eminim

worker_processes 3 
timeout 30 

@resque_pid = nil 

before_fork do |server, worker| 
    @resque_pid ||= spawn("bundle exec rake " + \ 
    "resque:work QUEUES=scrape,geocode,distance,mailer") 
end 

gibi görünen bir unicorn.rb ile bitireceğiz ancak herhangi almamış Bu davranışı engellemek için durur (ya da sanırım).

+0

Yea, Dün gece, hatasplat öğreticisi üzerinde çalışıyordum ama kuyruğu almak için alamadım ... – nverba

+0

Uygun olduğu gibi, her çatallı işlemin her biri için aynı olması gerekip gerekmediğinden emin değildim tek boynuzlu at ustası. Heroku'nun tek boynuzlu at hakkında herhangi bir itirazı olduğunu düşünmüyorum, belgelerine birkaç kez atıfta bulunuyorlar. Sonuçta sadece 1 Dyno kapasite çalışıyor. 1 ücretsiz uygulamaya bağlanan birkaç dynos ile sonuçlanabileceğinden, politikalarını atlatmak için paylaşılan DB ile uygulamaların kasten klonlanmasına itiraz etme olasılıkları daha yüksektir. – nverba

+0

da görünüşe göre bir dyno 15 konuya kadar yumurtlayabilir - ama bellek kullanımı konusunda dikkatli olmanız gerekir. –

İlgili konular