mirror of
https://github.com/eworm-de/routeros-scripts.git
synced 2024-05-11 05:55:19 +00:00
Merge branch 'scheduler' into next
This commit is contained in:
@ -26,7 +26,7 @@
|
||||
|
||||
:local AllDone true;
|
||||
: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={
|
||||
/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 $Signature ] > 0) ("\n-- \n" . $Signature) "" ]); \
|
||||
attach=($Notification->"attach"); remove-attach=($Notification->"remove-attach") };
|
||||
:if ([ :len [ /system/scheduler/find where name="\$FlushEmailQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="\$FlushEmailQueue" interval=1s start-time=startup \
|
||||
:if ([ :len [ /system/scheduler/find where name="_FlushEmailQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="_FlushEmailQueue" interval=1s start-time=startup \
|
||||
comment="Queuing new mail..." on-event=(":global FlushEmailQueue; \$FlushEmailQueue;");
|
||||
}
|
||||
}
|
||||
@ -162,7 +162,7 @@
|
||||
:set PurgeEMailQueue do={
|
||||
:global EmailQueue;
|
||||
|
||||
/system/scheduler/remove [ find where name="\$FlushEmailQueue" ];
|
||||
/system/scheduler/remove [ find where name="_FlushEmailQueue" ];
|
||||
:set EmailQueue;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
:local AllDone true;
|
||||
: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;
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
}
|
||||
|
||||
:if ($AllDone = true && $QueueLen = [ :len $MatrixQueue ]) do={
|
||||
/system/scheduler/remove [ find where name=$0 ];
|
||||
/system/scheduler/remove [ find where name="_FlushMatrixQueue" ];
|
||||
:set MatrixQueue;
|
||||
}
|
||||
}
|
||||
@ -147,8 +147,8 @@
|
||||
:set ($MatrixQueue->[ :len $MatrixQueue ]) { room=$Room; \
|
||||
accesstoken=$AccessToken; homeserver=$HomeServer; \
|
||||
plain=$Plain; formatted=$Formatted };
|
||||
:if ([ :len [ /system/scheduler/find where name="\$FlushMatrixQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="\$FlushMatrixQueue" interval=1m start-time=startup \
|
||||
:if ([ :len [ /system/scheduler/find where name="_FlushMatrixQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="_FlushMatrixQueue" interval=1m start-time=startup \
|
||||
on-event=(":global FlushMatrixQueue; \$FlushMatrixQueue;");
|
||||
}
|
||||
}
|
||||
@ -158,7 +158,7 @@
|
||||
:set PurgeMatrixQueue do={
|
||||
:global MatrixQueue;
|
||||
|
||||
/system/scheduler/remove [ find where name="\$FlushMatrixQueue" ];
|
||||
/system/scheduler/remove [ find where name="_FlushMatrixQueue" ];
|
||||
:set MatrixQueue;
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
:local AllDone true;
|
||||
: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;
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
}
|
||||
|
||||
:if ($AllDone = true && $QueueLen = [ :len $NtfyQueue ]) do={
|
||||
/system/scheduler/remove [ find where name=$0 ];
|
||||
/system/scheduler/remove [ find where name="_FlushNtfyQueue" ];
|
||||
:set NtfyQueue;
|
||||
}
|
||||
}
|
||||
@ -103,8 +103,8 @@
|
||||
"This message was queued since " . [ /system/clock/get date ] . " " . \
|
||||
[ /system/clock/get time ] . " and may be obsolete.");
|
||||
:set ($NtfyQueue->[ :len $NtfyQueue ]) { url=$Url; headers=$Headers; text=$Text };
|
||||
:if ([ :len [ /system/scheduler/find where name="\$FlushNtfyQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="\$FlushNtfyQueue" interval=1m start-time=startup \
|
||||
:if ([ :len [ /system/scheduler/find where name="_FlushNtfyQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="_FlushNtfyQueue" interval=1m start-time=startup \
|
||||
on-event=(":global FlushNtfyQueue; \$FlushNtfyQueue;");
|
||||
}
|
||||
}
|
||||
@ -114,7 +114,7 @@
|
||||
:set PurgeNtfyQueue do={
|
||||
:global NtfyQueue;
|
||||
|
||||
/system/scheduler/remove [ find where name="\$FlushNtfyQueue" ];
|
||||
/system/scheduler/remove [ find where name="_FlushNtfyQueue" ];
|
||||
:set NtfyQueue;
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
:local AllDone true;
|
||||
: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;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
}
|
||||
|
||||
:if ($AllDone = true && $QueueLen = [ :len $TelegramQueue ]) do={
|
||||
/system/scheduler/remove [ find where name=$0 ];
|
||||
/system/scheduler/remove [ find where name="_FlushTelegramQueue" ];
|
||||
:set TelegramQueue;
|
||||
}
|
||||
}
|
||||
@ -155,8 +155,8 @@
|
||||
" " . [ /system/clock/get time ] . " and may be obsolete.") "plain" ]) ]);
|
||||
:set ($TelegramQueue->[ :len $TelegramQueue ]) { chatid=$ChatId; tokenid=$TokenId;
|
||||
text=$Text; silent=($Notification->"silent"); replyto=($Notification->"replyto") };
|
||||
:if ([ :len [ /system/scheduler/find where name="\$FlushTelegramQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="\$FlushTelegramQueue" interval=1m start-time=startup \
|
||||
:if ([ :len [ /system/scheduler/find where name="_FlushTelegramQueue" ] ] = 0) do={
|
||||
/system/scheduler/add name="_FlushTelegramQueue" interval=1m start-time=startup \
|
||||
on-event=(":global FlushTelegramQueue; \$FlushTelegramQueue;");
|
||||
}
|
||||
}
|
||||
@ -166,7 +166,7 @@
|
||||
:set PurgeTelegramQueue do={
|
||||
:global TelegramQueue;
|
||||
|
||||
/system/scheduler/remove [ find where name="\$FlushTelegramQueue" ];
|
||||
/system/scheduler/remove [ find where name="_FlushTelegramQueue" ];
|
||||
:set TelegramQueue;
|
||||
}
|
||||
|
||||
|
@ -16,10 +16,10 @@
|
||||
|
||||
: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={
|
||||
$LogPrintExit2 info $0 ("Creating scheduler \$ModeButtonScheduler, counting presses...") false;
|
||||
$LogPrintExit2 info $0 ("Creating scheduler _ModeButtonScheduler, counting presses...") false;
|
||||
:global ModeButtonScheduler do={
|
||||
:global ModeButton;
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
|
||||
:set ($ModeButton->"count") 0;
|
||||
:set ModeButtonScheduler;
|
||||
/system/scheduler/remove [ find where name=$0 ];
|
||||
/system/scheduler/remove [ find where name="_ModeButtonScheduler" ];
|
||||
|
||||
:if ([ :len $Code ] > 0) do={
|
||||
:if ([ $ValidateSyntax $Code ] = true) do={
|
||||
@ -68,9 +68,9 @@
|
||||
$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;
|
||||
} 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 ];
|
||||
}
|
||||
|
@ -95,8 +95,8 @@ $ScriptLock $0;
|
||||
$RandomDelay 3600;
|
||||
/system/reboot;
|
||||
}
|
||||
/system/scheduler/add name="\$RebootForUpdate" start-time=03:00:00 interval=1d \
|
||||
on-event=("/system/scheduler/remove \"\\\$RebootForUpdate\"; " . \
|
||||
/system/scheduler/add name="_RebootForUpdate" start-time=03:00:00 interval=1d \
|
||||
on-event=("/system/scheduler/remove \"_RebootForUpdate\"; " . \
|
||||
":global RebootForUpdate; \$RebootForUpdate;");
|
||||
$LogPrintExit2 info $0 ("Scheduled reboot for update between 03:00 and 04:00.") true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user