From 9c9fb46e4a95a7020b1fefb8fb0db3aafa9b2844 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 1 Jul 2021 18:07:23 +0200 Subject: lease-script: do not run too many instances of scripts Every instance of the scripts does all the work. If one script is running and a second script is waiting we do not have to start a third one. --- lease-script | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lease-script b/lease-script index 537c832..2f67cb0 100644 --- a/lease-script +++ b/lease-script @@ -27,10 +27,12 @@ $LogPrintExit2 debug $0 ("DHCP Server " . $leaseServerName . " " . \ :foreach Script in=[ / system script find where source~("\n# provides: lease-script " . $State . "\n") ] do={ :local ScriptName [ / system script get $Script name ]; - :do { - $LogPrintExit2 debug $0 ("Running script: " . $ScriptName) false; - / system script run $Script; - } on-error={ - $LogPrintExit2 warning $0 ("Running script '" . $ScriptName . "' failed!") false; + :if ([ :len [ / system script job find where script=$ScriptName ] ] < 2) do={ + :do { + $LogPrintExit2 debug $0 ("Running script: " . $ScriptName) false; + / system script run $Script; + } on-error={ + $LogPrintExit2 warning $0 ("Running script '" . $ScriptName . "' failed!") false; + } } } -- cgit v1.2.3-54-g00ecf