Podría ser un problema al cargar un archivo de clase de trabajo personalizado. Para probar eso, intente esto:
- Ingrese a la consola de rieles
rails console --sandbox
.
- Asegúrese de tener un trabajo en la tabla
job = Delayed::Job.first
.
- Pruebe
YAML.load(job.handler)
. Si obtiene un error que se ve así: ArgumentError: undefined class/module MyCustomClass
, probablemente sea un problema al cargar su trabajo personalizado
- Todavía en la consola de rieles, ejecute
require 'My_Custom_Class
. A continuación, ejecute el comando YAML.load(job.handler)
nuevamente. Si esto devuelve el objeto apropiado, definitivamente es un problema de carga de clases.
Para solucionar el problema, cree el archivo config/initializers/custom.rb
y en él ponga require 'My_Custom_Class'
.
A continuación, debería ser capaz de ejecutar rake jobs::workoff
y conseguir algo que se parece a esto:
[Worker(host:my.host pid:5085)] Starting job worker
[Worker(host:my.host pid:5085)] MyCustomJob completed after 0.0774
[Worker(host:my.host pid:5085)] 1 jobs processed at 9.1935 j/s, 0 failed ...
[Worker(host:my.host pid:5085)] No more jobs available. Exiting
¿Cuál es el resultado de 'RAILS_ENV = desarrollo de guiones/delayed_job status'? – Ernest
¿Intentó ejecutarlo sin Daemons Gema? – Ernest
Gemfile.lock indica que los daemons son una dependencia obligatoria, pero eliminaré el uso explícito y lo intentaré. La razón por la que lo hice fue tratar de forzar a Daemonize a usar una versión en particular (muchas sugerencias de StackOverflow giraban en torno al uso de 1.0.10 para daemons) ya que tenía daemons 1.1.4 en el sistema. Se agregaron – Aditya