¿Es posible que un niño unicornio procese una cola, mientras que el resto procesa las solicitudes web en Heroku Single Dyno?
-
29-10-2019 - |
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