reintroduce global-wait

This commit is contained in:
Christian Hesse 2021-11-15 22:17:43 +01:00
parent 3b997d3087
commit 185fe2c730
9 changed files with 65 additions and 6 deletions

40
doc/global-wait.md Normal file
View file

@ -0,0 +1,40 @@
Wait for global functions and modules
=====================================
[◀ Go back to main README](../README.md)
🛈 This script can not be used on its own but requires the base installation.
See [main README](../README.md) for details.
Description
-----------
The global functions from `global-functions` and modules are loaded by
scheduler at system startup. Running these functions at system startup may
result in race condition where configuration and/or function are not yet
available. This script is supposed to wait for everything being prepared.
Do **not** add this script `global-wait` to the `global-scripts` scheduler!
It would inhibit the initialization of configuration and functions.
Requirements and installation
-----------------------------
Just install the script:
$ScriptInstallUpdate global-wait;
... and add it to your scheduler, for example in combination with the module
to [manage VLANs on bridge ports](mod/bridge-port-vlan.md):
/ system scheduler add name=bridge-port-vlan on-event="/ system script run global-wait; :global BridgePortVlan; \$BridgePortVlan default;" start-time=startup;
See also
--------
* [Manage ports in bridge](mod/bridge-port-to.md)
* [Manage VLANs on bridge ports](mod/bridge-port-vlan.md)
---
[◀ Go back to main README](../README.md)
[▲ Go back to top](#top)

View file

@ -34,7 +34,8 @@ Also dhcp client can be handled:
Add a scheduler to start with default setup on system startup:
/ system scheduler add name=bridge-port-to on-event=":global GlobalFunctionsReady; :while (\$GlobalFunctionsReady != true) do={ :delay 500ms; }; :global BridgePortTo; \$BridgePortTo default;" start-time=startup;
$ScriptInstallUpdate global-wait;
/ system scheduler add name=bridge-port-vlan on-event="/ system script run global-wait; :global BridgePortTo; \$BridgePortTo default;" start-time=startup;
Usage and invocation
--------------------
@ -72,6 +73,7 @@ configuration:
See also
--------
* [Wait for global functions und modules](../global-wait.md)
* [Manage VLANs on bridge ports](bridge-port-vlan.md)
---

View file

@ -39,7 +39,8 @@ Also dhcp client can be handled:
Add a scheduler to start with default setup on system startup:
/ system scheduler add name=bridge-port-vlan on-event=":global GlobalFunctionsReady; :while (\$GlobalFunctionsReady != true) do={ :delay 500ms; }; :global BridgePortVlan; \$BridgePortVlan default;" start-time=startup;
$ScriptInstallUpdate global-wait;
/ system scheduler add name=bridge-port-vlan on-event="/ system script run global-wait; :global BridgePortVlan; \$BridgePortVlan default;" start-time=startup;
Usage and invocation
--------------------
@ -76,6 +77,7 @@ configuration:
See also
--------
* [Wait for global functions und modules](../global-wait.md)
* [Manage ports in bridge](bridge-port-to.md)
---