Skip to main content

Scheduler

scheduler allows adding periodic function executions.

scheduler.add

-- @param period number Execution interval in milliseconds
-- @param fn function Function to be executed
-- @return number Scheduled function ID
function scheduler.add(period, fn) end

Schedules function fn for a periodic execution in period milliseconds intervals. Returns the ID of the scheduled execution. You can use it for any further executions of scheduler.remove.

Example

function send_properties()
enapter.send_properties({version = "1.0"})
end

jobId = scheduler.add(10000, send_properties)

Notes

Each function call is limited to 10 seconds, otherwise, the call will be terminated. It will not affect the scheduler though and the execution will continue again after the period milliseconds.

All scheduled function calls are executed sequentially on a single CPU core. This means that no two scheduled functions will be running in parallel.

scheduler.remove

-- @param jobId number Scheduled function ID
function scheduler.remove(jobId) end

Removes function from Scheduler by jobId returned from scheduler.add.

Hardware diversity is welcome. Integrate any device into a unified energy network.
© 2022 Enapter
Developer toolkit
DocumentationReference