Determina Job_id dall'interno del blocco del codice per un lavoro di cron in Scheduler Rufus (rotaie 3.2)

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

  •  13-12-2019
  •  | 
  •  

Domanda

Quando si crea un lavoro di cron attraverso il pianificatore di Rufus, c'è qualche modo all'interno del blocco del codice per il lavoro di cron per determinare il job_id del Cron Job stesso?

Quello che voglio fare è qualcosa del genere:

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
.

Il problema è self.job_id.Qualsiasi suggerimento su come recuperare il Attuale Job_ID del cron che è attualmente innescato?

So che c'è qualcosa come "triggered_threads", che è tornato lavori attualmente in esecuzione.Ma voglio qualcosa di più specifico: il Job_ID del blocco di codice sono attualmente all'interno.

è possibile?

È stato utile?

Soluzione

Sono stato in grado di risolvere questo problema fornendo l'invocazione del metodo Scheduler.Cron con un parametro opzionale che ha identificato esplicitamente il nuovo ID del lavoro:

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
.

DOVE explicit_job_id è una variabile definita prima che sia effettuata l'invocazione Scheduler.Cron.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top