18 lines
670 B
Plaintext
18 lines
670 B
Plaintext
:sig
|
|
pid_t task_repeat(String key, f64 interval, std::function<void()> exec_func, u64 timeout = 60*10)
|
|
|
|
:params
|
|
key : string uniquely identifying the task
|
|
interval : repeat interval in seconds
|
|
exec_func : function to execute repeatedly
|
|
timeout : optional task timeout value
|
|
return value : the process ID of the started (or still running) task
|
|
|
|
:desc
|
|
Starts a repeating background worker process. The function `exec_func` is executed in a loop and the worker sleeps for `interval` seconds between executions.
|
|
|
|
If a process with the same `key` is already running, `task_repeat()` does not start a second worker and instead returns the PID of the existing one.
|
|
|
|
:see
|
|
>task
|