:sig pid_t task_repeat(String key, f64 interval, std::function exec_func, u64 timeout = 60*10) :params key : string uniquely identifying the task across the whole runtime instance interval : repeat interval in seconds exec_func : function to execute repeatedly timeout : maximum run time in seconds; `0` disables the timeout return value : the process ID of the started (or still running) task, or `0` when the task could not be started :see >task task task_pid task_kill :content Starts a repeating background worker process. `exec_func` runs in a loop, and the worker sleeps for `interval` seconds between executions. `interval` must be greater than zero. If a process with the same `key` is already running anywhere in the runtime instance, `task_repeat()` does not start a second worker and instead returns the PID of the existing one. Coordination is through the same shared task state used by `task()`. `timeout` bounds the lifetime of the repeating worker. The default is ten minutes. Pass `0` only for workers that have another shutdown path. Related: - PHP: background-process patterns using `proc_open()`, queues, cron, or worker supervisors - JavaScript / Node.js: Node `child_process`, worker queues, timers, schedulers, and supervised background jobs