¿Es posible que un niño unicornio procese una cola, mientras que el resto procesa las solicitudes web en Heroku Single Dyno?

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

Pregunta

Si tienes unicornio configurado en un solo dinamómetro en Heroku, digamos con 3 trabajadores. ¿Es posible tener 2 de las solicitudes web de procesamiento de trabajadores infantiles y 1 niño unicornio que realiza trabajos de antecedentes, como una cola de resque o tareas programadas?

¿O eso simplemente no es apropiado?


¡Ahora lo tengo funcionando!

Ok, usando la respuesta a continuación, logré que recogiera la señal, pero primero tomó un poco de retoques. Esto es lo que funcionó para mí.

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

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top