Determine JOB_ID desde el bloque de código para un trabajo de Cron en Rufus Scheduler (Rails 3.2)

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

  •  13-12-2019
  •  | 
  •  

Pregunta

Al crear un trabajo de Cron a través del Programador de Rufus, ¿hay algún camino? dentro del bloque de código para el trabajo de Cron para determinar el Job_ID de la cron trabajo en sí?

Lo que quiero hacer es algo así:

scheduler.cron '0 0 0 * * * Etc/GMT+0' do
  # Nix existing jobs.
  scheduler.cron_jobs.values.map { |j| if j.job_id != self.job_id then j.unschedule end }     
  ...
end

El problema es self.job_id.Cualquier sugerencia sobre cómo recuperar el ¿Job_ID actual del Cron que se está activando actualmente?

Sé que hay algo como "disparated_threads", que regresó Actualmente ejecutando trabajos.Pero quiero algo más específico: el Job_ID del bloque de códigos que estoy actualmente dentro.

es esto posible?

¿Fue útil?

Solución

Pude resolver este problema al suministrar la invocación del método Scheduler.Cron con un parámetro opcional que identificó explícitamente la ID de nuevo trabajo:

scheduler.cron '0 0 0 * * * Etc/GMT+0', {:job_id => explicit_job_id} do
  # Nix existing jobs.
  scheduler.cron_jobs.values.map { |j| if j.job_id != self.job_id then j.unschedule end }     
  ...
end

Donde GeneracDicEtGode es una variable definida antes de que se realice la invocación del horario.

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