È possibile che un elabora un figlio unicorno elasse una coda, mentre le richieste Web del processo di riposo su Heroku single dyno?

StackOverflow https://stackoverflow.com/questions/8907281

Domanda

Se hai istituito un unicorno su un singolo dyno su Heroku, diciamo con 3 lavoratori. È possibile avere 2 richieste Web di elaborazione dei lavoratori dei bambini e 1 figlio unicorno che svolge lavori di fondo, come una coda di resque o attività programmate?

O non è appropriato?


Ora ha funzionato!

Ok, quindi usando la risposta sotto sono riuscito a farlo prendere il segnale, ma prima ci è voluto un po 'di armeggiare. Questo è ciò che ha funzionato per me.

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

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top