rails deploy app ruby-on-rails heroku terminal delayed-job

ruby-on-rails - deploy - heroku-18



¿Trabajando retrasado_trabajador en Heroku? (4)

Así que ahora mismo tengo una implementación de delayed_job que funciona perfectamente en mi entorno de desarrollo local. Para iniciar al trabajador en mi máquina, simplemente ejecuto rake jobs:work y funciona perfectamente.

Para que delayed_job funcione en heroku, he estado usando casi el mismo comando: heroku run rake jobs:work . Esta solución funciona, sin que tenga que pagar nada por los costos del trabajador a Heroku, pero tengo que mantener abierta la ventana de comando o, de lo contrario, el trabajador delayed_job se detiene cuando lo cierro. ¿Hay un comando para mantener de forma permanente a este trabajador de trabajo con retraso, incluso cuando cierro la ventana de comandos? ¿O hay otra manera mejor de hacer esto?


Añadir

worker: rake jobs:work

a su Procfile .

EDITAR:

Incluso si lo ejecutas desde tu consola, "compras" el dinamómetro de los trabajadores, pero Heroku tiene por segundo el bilingüe. Por lo tanto, no paga porque tiene 750 h libres y el mes en el peor de los casos tiene 744 h, así que tiene 6 h libres para sus diagnósticos adicionales, tareas del programador, etc.


El uso de la consola heroku para hacer que los trabajadores realicen los trabajos solo creará un dinamómetro temporal para el trabajo. Para mantener los trabajos en ejecución sin cli, debe poner el comando en el archivo Proc como se sugiere en @Lucaksz.

Después de la implementación, también necesita escalar la formación del dinamómetro, ya que heroku necesita saber cuántos dinamómetros deben colocarse en el tipo de proceso de esta manera: heroku ps: scale worker = 1

Más detalles se pueden leer aquí https://devcenter.heroku.com/articles/scaling



Recomiendo la gema sin trabajo para ejecutar trabajos retrasados ​​en heroku. Utilizo esto ahora; funciona perfectamente para mí, sin problemas y sin costo.

También he utilizado hirefireapp que otorga un mayor grado de control sobre la escala de los trabajadores. Esto cuesta, pero cuesta menos que un solo trabajador de heroku (más de un mes). No uso esto ahora, pero lo he usado, y funcionó muy bien.