From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 2AFA5989B for ; Fri, 1 Apr 2022 13:24:47 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1F8C9262C6 for ; Fri, 1 Apr 2022 13:24:47 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 9EE7B262BC for ; Fri, 1 Apr 2022 13:24:46 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 6B46946F5B for ; Fri, 1 Apr 2022 13:24:46 +0200 (CEST) From: Dominik Csapak To: pve-devel@lists.proxmox.com Date: Fri, 1 Apr 2022 13:24:44 +0200 Message-Id: <20220401112444.4166586-1-d.csapak@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.147 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pve-devel] [PATCH manager] Jobs: don't schedule jobs with no computable next event X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Apr 2022 11:24:47 -0000 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 --- 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