Init services are commands and functions running all the time. If it crashes, it is reloaded.
They will be loaded at plugin activation, and stopped when plugin is no longer active.
If the function returns it will be called again. If the service keeps failing it may not be called again in some time, but eventually will be called again.
If exits with a failure (exception, or fatal crash), the command/call will be called again in increasing timeouts, decreased by running time: on each fail it will wait double time (max 30m), but for each second running it removes a second for next wait.
If the called method returns with a number, that the number of seconds to wait
until next run. In this case the command will be stopped with normal
rules: if its a singleton will not be stopped at all, if
one_for_one it will
Manifest YAML component definition
components: - name: Telegram checker id: init type: init command: telegram/daemon call: check_for_new_messages
|call||Method to call at the command|
The command will be shared between callers, as normal, so if your init requires
another running instance of your program, use
one_for_one at the command or