[pve-devel] [PATCH manager 1/3] pvescheduler: simplify code for sleep time calculation
Fabian Ebner
f.ebner at proxmox.com
Thu Nov 11 16:17:43 CET 2021
Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
PVE/Service/pvescheduler.pm | 22 ++++------------------
1 file changed, 4 insertions(+), 18 deletions(-)
diff --git a/PVE/Service/pvescheduler.pm b/PVE/Service/pvescheduler.pm
index a8d548fb..86891827 100755
--- a/PVE/Service/pvescheduler.pm
+++ b/PVE/Service/pvescheduler.pm
@@ -25,20 +25,6 @@ my $finish_jobs = sub {
}
};
-my $get_sleep_time = sub {
- my ($calculate_offset) = @_;
- my $time = 60;
-
- if ($calculate_offset) {
- # try to run near minute boundaries, makes more sense to the user as he
- # configures jobs with minute precision
- my ($current_seconds) = localtime;
- $time = (60 - $current_seconds) if (60 - $current_seconds >= 5);
- }
-
- return $time;
-};
-
sub run {
my ($self) = @_;
@@ -84,12 +70,12 @@ sub run {
$run_jobs->();
- my $sleep_time;
+ my $sleep_time = 60;
if ($count >= 1000) {
- $sleep_time = $get_sleep_time->(1);
+ # Job schedule has minute precision, so try running near the minute boundary.
+ my ($current_seconds) = localtime;
+ $sleep_time = (60 - $current_seconds) if (60 - $current_seconds >= 5);
$count = 0;
- } else {
- $sleep_time = $get_sleep_time->(0);
}
my $slept = 0; # SIGCHLD interrupts sleep, so we need to keep track
--
2.30.2
More information about the pve-devel
mailing list