Merge branch 'scheduler' into next

This commit is contained in:
Christian Hesse 2023-11-14 22:36:58 +01:00
commit 3aec5d70c6
6 changed files with 26 additions and 26 deletions

View file

@ -26,7 +26,7 @@
:local AllDone true; :local AllDone true;
:local QueueLen [ :len $EmailQueue ]; :local QueueLen [ :len $EmailQueue ];
:local Scheduler [ /system/scheduler/find where name=$0 ]; :local Scheduler [ /system/scheduler/find where name="_FlushEmailQueue" ];
:if ([ :len $Scheduler ] > 0 && [ /system/scheduler/get $Scheduler interval ] < 1m) do={ :if ([ :len $Scheduler ] > 0 && [ /system/scheduler/get $Scheduler interval ] < 1m) do={
/system/scheduler/set interval=1m comment="Doing initial checks..." $Scheduler; /system/scheduler/set interval=1m comment="Doing initial checks..." $Scheduler;
@ -152,8 +152,8 @@
[ $IfThenElse ([ :len ($Notification->"link") ] > 0) ("\n\n" . ($Notification->"link")) "" ] . \ [ $IfThenElse ([ :len ($Notification->"link") ] > 0) ("\n\n" . ($Notification->"link")) "" ] . \
[ $IfThenElse ([ :len $Signature ] > 0) ("\n-- \n" . $Signature) "" ]); \ [ $IfThenElse ([ :len $Signature ] > 0) ("\n-- \n" . $Signature) "" ]); \
attach=($Notification->"attach"); remove-attach=($Notification->"remove-attach") }; attach=($Notification->"attach"); remove-attach=($Notification->"remove-attach") };
:if ([ :len [ /system/scheduler/find where name="\$FlushEmailQueue" ] ] = 0) do={ :if ([ :len [ /system/scheduler/find where name="_FlushEmailQueue" ] ] = 0) do={
/system/scheduler/add name="\$FlushEmailQueue" interval=1s start-time=startup \ /system/scheduler/add name="_FlushEmailQueue" interval=1s start-time=startup \
comment="Queuing new mail..." on-event=(":global FlushEmailQueue; \$FlushEmailQueue;"); comment="Queuing new mail..." on-event=(":global FlushEmailQueue; \$FlushEmailQueue;");
} }
} }
@ -162,7 +162,7 @@
:set PurgeEMailQueue do={ :set PurgeEMailQueue do={
:global EmailQueue; :global EmailQueue;
/system/scheduler/remove [ find where name="\$FlushEmailQueue" ]; /system/scheduler/remove [ find where name="_FlushEmailQueue" ];
:set EmailQueue; :set EmailQueue;
} }

View file

@ -30,7 +30,7 @@
:local AllDone true; :local AllDone true;
:local QueueLen [ :len $MatrixQueue ]; :local QueueLen [ :len $MatrixQueue ];
:if ([ :len [ /system/scheduler/find where name=$0 ] ] > 0 && $QueueLen = 0) do={ :if ([ :len [ /system/scheduler/find where name="_FlushMatrixQueue" ] ] > 0 && $QueueLen = 0) do={
$LogPrintExit2 warning $0 ("Flushing Matrix messages from scheduler, but queue is empty.") false; $LogPrintExit2 warning $0 ("Flushing Matrix messages from scheduler, but queue is empty.") false;
} }
@ -52,7 +52,7 @@
} }
:if ($AllDone = true && $QueueLen = [ :len $MatrixQueue ]) do={ :if ($AllDone = true && $QueueLen = [ :len $MatrixQueue ]) do={
/system/scheduler/remove [ find where name=$0 ]; /system/scheduler/remove [ find where name="_FlushMatrixQueue" ];
:set MatrixQueue; :set MatrixQueue;
} }
} }
@ -147,8 +147,8 @@
:set ($MatrixQueue->[ :len $MatrixQueue ]) { room=$Room; \ :set ($MatrixQueue->[ :len $MatrixQueue ]) { room=$Room; \
accesstoken=$AccessToken; homeserver=$HomeServer; \ accesstoken=$AccessToken; homeserver=$HomeServer; \
plain=$Plain; formatted=$Formatted }; plain=$Plain; formatted=$Formatted };
:if ([ :len [ /system/scheduler/find where name="\$FlushMatrixQueue" ] ] = 0) do={ :if ([ :len [ /system/scheduler/find where name="_FlushMatrixQueue" ] ] = 0) do={
/system/scheduler/add name="\$FlushMatrixQueue" interval=1m start-time=startup \ /system/scheduler/add name="_FlushMatrixQueue" interval=1m start-time=startup \
on-event=(":global FlushMatrixQueue; \$FlushMatrixQueue;"); on-event=(":global FlushMatrixQueue; \$FlushMatrixQueue;");
} }
} }
@ -158,7 +158,7 @@
:set PurgeMatrixQueue do={ :set PurgeMatrixQueue do={
:global MatrixQueue; :global MatrixQueue;
/system/scheduler/remove [ find where name="\$FlushMatrixQueue" ]; /system/scheduler/remove [ find where name="_FlushMatrixQueue" ];
:set MatrixQueue; :set MatrixQueue;
} }

View file

@ -28,7 +28,7 @@
:local AllDone true; :local AllDone true;
:local QueueLen [ :len $NtfyQueue ]; :local QueueLen [ :len $NtfyQueue ];
:if ([ :len [ /system/scheduler/find where name=$0 ] ] > 0 && $QueueLen = 0) do={ :if ([ :len [ /system/scheduler/find where name="_FlushNtfyQueue" ] ] > 0 && $QueueLen = 0) do={
$LogPrintExit2 warning $0 ("Flushing Ntfy messages from scheduler, but queue is empty.") false; $LogPrintExit2 warning $0 ("Flushing Ntfy messages from scheduler, but queue is empty.") false;
} }
@ -46,7 +46,7 @@
} }
:if ($AllDone = true && $QueueLen = [ :len $NtfyQueue ]) do={ :if ($AllDone = true && $QueueLen = [ :len $NtfyQueue ]) do={
/system/scheduler/remove [ find where name=$0 ]; /system/scheduler/remove [ find where name="_FlushNtfyQueue" ];
:set NtfyQueue; :set NtfyQueue;
} }
} }
@ -103,8 +103,8 @@
"This message was queued since " . [ /system/clock/get date ] . " " . \ "This message was queued since " . [ /system/clock/get date ] . " " . \
[ /system/clock/get time ] . " and may be obsolete."); [ /system/clock/get time ] . " and may be obsolete.");
:set ($NtfyQueue->[ :len $NtfyQueue ]) { url=$Url; headers=$Headers; text=$Text }; :set ($NtfyQueue->[ :len $NtfyQueue ]) { url=$Url; headers=$Headers; text=$Text };
:if ([ :len [ /system/scheduler/find where name="\$FlushNtfyQueue" ] ] = 0) do={ :if ([ :len [ /system/scheduler/find where name="_FlushNtfyQueue" ] ] = 0) do={
/system/scheduler/add name="\$FlushNtfyQueue" interval=1m start-time=startup \ /system/scheduler/add name="_FlushNtfyQueue" interval=1m start-time=startup \
on-event=(":global FlushNtfyQueue; \$FlushNtfyQueue;"); on-event=(":global FlushNtfyQueue; \$FlushNtfyQueue;");
} }
} }
@ -114,7 +114,7 @@
:set PurgeNtfyQueue do={ :set PurgeNtfyQueue do={
:global NtfyQueue; :global NtfyQueue;
/system/scheduler/remove [ find where name="\$FlushNtfyQueue" ]; /system/scheduler/remove [ find where name="_FlushNtfyQueue" ];
:set NtfyQueue; :set NtfyQueue;
} }

View file

@ -29,7 +29,7 @@
:local AllDone true; :local AllDone true;
:local QueueLen [ :len $TelegramQueue ]; :local QueueLen [ :len $TelegramQueue ];
:if ([ :len [ /system/scheduler/find where name=$0 ] ] > 0 && $QueueLen = 0) do={ :if ([ :len [ /system/scheduler/find where name="_FlushTelegramQueue" ] ] > 0 && $QueueLen = 0) do={
$LogPrintExit2 warning $0 ("Flushing Telegram messages from scheduler, but queue is empty.") false; $LogPrintExit2 warning $0 ("Flushing Telegram messages from scheduler, but queue is empty.") false;
} }
@ -51,7 +51,7 @@
} }
:if ($AllDone = true && $QueueLen = [ :len $TelegramQueue ]) do={ :if ($AllDone = true && $QueueLen = [ :len $TelegramQueue ]) do={
/system/scheduler/remove [ find where name=$0 ]; /system/scheduler/remove [ find where name="_FlushTelegramQueue" ];
:set TelegramQueue; :set TelegramQueue;
} }
} }
@ -155,8 +155,8 @@
" " . [ /system/clock/get time ] . " and may be obsolete.") "plain" ]) ]); " " . [ /system/clock/get time ] . " and may be obsolete.") "plain" ]) ]);
:set ($TelegramQueue->[ :len $TelegramQueue ]) { chatid=$ChatId; tokenid=$TokenId; :set ($TelegramQueue->[ :len $TelegramQueue ]) { chatid=$ChatId; tokenid=$TokenId;
text=$Text; silent=($Notification->"silent"); replyto=($Notification->"replyto") }; text=$Text; silent=($Notification->"silent"); replyto=($Notification->"replyto") };
:if ([ :len [ /system/scheduler/find where name="\$FlushTelegramQueue" ] ] = 0) do={ :if ([ :len [ /system/scheduler/find where name="_FlushTelegramQueue" ] ] = 0) do={
/system/scheduler/add name="\$FlushTelegramQueue" interval=1m start-time=startup \ /system/scheduler/add name="_FlushTelegramQueue" interval=1m start-time=startup \
on-event=(":global FlushTelegramQueue; \$FlushTelegramQueue;"); on-event=(":global FlushTelegramQueue; \$FlushTelegramQueue;");
} }
} }
@ -166,7 +166,7 @@
:set PurgeTelegramQueue do={ :set PurgeTelegramQueue do={
:global TelegramQueue; :global TelegramQueue;
/system/scheduler/remove [ find where name="\$FlushTelegramQueue" ]; /system/scheduler/remove [ find where name="_FlushTelegramQueue" ];
:set TelegramQueue; :set TelegramQueue;
} }

View file

@ -16,10 +16,10 @@
:set ($ModeButton->"count") ($ModeButton->"count" + 1); :set ($ModeButton->"count") ($ModeButton->"count" + 1);
:local Scheduler [ /system/scheduler/find where name="\$ModeButtonScheduler" ]; :local Scheduler [ /system/scheduler/find where name="_ModeButtonScheduler" ];
:if ([ :len $Scheduler ] = 0) do={ :if ([ :len $Scheduler ] = 0) do={
$LogPrintExit2 info $0 ("Creating scheduler \$ModeButtonScheduler, counting presses...") false; $LogPrintExit2 info $0 ("Creating scheduler _ModeButtonScheduler, counting presses...") false;
:global ModeButtonScheduler do={ :global ModeButtonScheduler do={
:global ModeButton; :global ModeButton;
@ -44,7 +44,7 @@
:set ($ModeButton->"count") 0; :set ($ModeButton->"count") 0;
:set ModeButtonScheduler; :set ModeButtonScheduler;
/system/scheduler/remove [ find where name=$0 ]; /system/scheduler/remove [ find where name="_ModeButtonScheduler" ];
:if ([ :len $Code ] > 0) do={ :if ([ :len $Code ] > 0) do={
:if ([ $ValidateSyntax $Code ] = true) do={ :if ([ $ValidateSyntax $Code ] = true) do={
@ -68,9 +68,9 @@
$LogPrintExit2 info $0 ("No action defined for " . $Count . " mode-button presses.") false; $LogPrintExit2 info $0 ("No action defined for " . $Count . " mode-button presses.") false;
} }
} }
/system/scheduler/add name="\$ModeButtonScheduler" \ /system/scheduler/add name="_ModeButtonScheduler" \
on-event=":global ModeButtonScheduler; \$ModeButtonScheduler;" interval=3s; on-event=":global ModeButtonScheduler; \$ModeButtonScheduler;" interval=3s;
} else={ } else={
$LogPrintExit2 debug $0 ("Updating scheduler \$ModeButtonScheduler...") false; $LogPrintExit2 debug $0 ("Updating scheduler _ModeButtonScheduler...") false;
/system/scheduler/set $Scheduler start-time=[ /system/clock/get time ]; /system/scheduler/set $Scheduler start-time=[ /system/clock/get time ];
} }

View file

@ -95,8 +95,8 @@ $ScriptLock $0;
$RandomDelay 3600; $RandomDelay 3600;
/system/reboot; /system/reboot;
} }
/system/scheduler/add name="\$RebootForUpdate" start-time=03:00:00 interval=1d \ /system/scheduler/add name="_RebootForUpdate" start-time=03:00:00 interval=1d \
on-event=("/system/scheduler/remove \"\\\$RebootForUpdate\"; " . \ on-event=("/system/scheduler/remove \"_RebootForUpdate\"; " . \
":global RebootForUpdate; \$RebootForUpdate;"); ":global RebootForUpdate; \$RebootForUpdate;");
$LogPrintExit2 info $0 ("Scheduled reboot for update between 03:00 and 04:00.") true; $LogPrintExit2 info $0 ("Scheduled reboot for update between 03:00 and 04:00.") true;
} }