all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH manager] Jobs: don't schedule jobs with no computable next event
@ 2022-04-01 11:24 Dominik Csapak
  2022-04-01 14:48 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2022-04-01 11:24 UTC (permalink / raw)
  To: pve-devel

if we have a schedule that has no 'next event' we should skip the scheduling
instead of schedule every round

this can happen if someone sets an schedule that has no next match.
some examples:
* 2-31 00:00 (there is not February 31st)
* mon 2022-04-02 (this would be a saturday, not monday)
* 1970-1-1 (or every other exact date in the past)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 PVE/Jobs.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/PVE/Jobs.pm b/PVE/Jobs.pm
index ba3685ec..da648630 100644
--- a/PVE/Jobs.pm
+++ b/PVE/Jobs.pm
@@ -232,9 +232,9 @@ sub run_jobs {
 
 	my $last_run = get_last_runtime($id, $type);
 	my $calspec = PVE::CalendarEvent::parse_calendar_event($schedule);
-	my $next_sync = PVE::CalendarEvent::compute_next_event($calspec, $last_run) // 0;
+	my $next_sync = PVE::CalendarEvent::compute_next_event($calspec, $last_run);
 
-	next if time() < $next_sync; # not yet its (next) turn
+	next if !defined($next_sync) || time() < $next_sync; # not yet its (next) turn
 
 	my $plugin = PVE::Jobs::Plugin->lookup($type);
 	if (starting_job($id, $type)) {
-- 
2.30.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-04-01 14:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-01 11:24 [pve-devel] [PATCH manager] Jobs: don't schedule jobs with no computable next event Dominik Csapak
2022-04-01 14:48 ` [pve-devel] applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal