Wann auch immer Juwel und Einplanung eines Jobs alle n min beginnend bei einem offset
Für atemberaubende Zwecke bin ich versucht, Aufträge planen, eine 2-minute-offset, laufen alle 5 Minuten. Das ist ich will 1 Auftrag ausgeführt 1,6,11,16.. und die anderen zu laufen, an 2,7,12,17...
Ich nicht finden konnte, ein Beispiel, um dies zu tun. So habe ich versucht:
every 5.minutes, :at=> 1 do
command "echo 'you can use raw cron sytax too'"
end
Dieser scheint zu arbeiten, aber alle die ':' Beispiele sehen werden, erwartet Sie eine Zeit in einen string-format. Die oben genannten gültigen zu tun, oder ist das nur geschieht, um zu arbeiten, und die jede option, die nicht wirklich die Unterstützung einer Startzeit.
InformationsquelleAutor der Frage HeretoLearn | 2011-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt wie Sie eine Abhängigkeit zwischen zwei jobs, so gibt es zwei Möglichkeiten, die ich denke, Sie kann damit umgehen. Wenn Sie wollen, zu laufen 1,6,11,16 und so weiter, als Ihre Frage vermuten lässt, dann nutzen Sie einfach raw-cron-syntax:
Aber es ist wohl besser, führen Sie den zweiten Auftrag, sobald der erste fertig ist. Dies sollte sicherstellen, dass die Aufträge nicht überlappen, und dass die zweite nur ausgeführt wird, wenn, nachdem die erste abgeschlossen ist.
InformationsquelleAutor der Antwort Pan Thomakos
every
eine ganze Zahl erwartet.Vermeiden thundering Herd-problem, Sie können dies tun.
Können Sie randomise den offset zu
Wie andere Antworten diese nicht für die Arbeit-Aufgaben in Abhängigkeit von einander. Wenn Sie Ihre Aufgaben, die voneinander abhängen, die Sie verwenden sollten
rake
zu behandeln, für die Sie oder laufen neben einem manuell in Ihre Aufgabe.InformationsquelleAutor der Antwort Pooyan Khosravi
Ja, das gültig sein sollte. Blick auf https://github.com/javan/whenever/blob/master/lib/whenever/cron.rb
Blick auf die parse_time Methode. Diese Linien insbesondere:
InformationsquelleAutor der Antwort John Vance