#!/usr/bin/lua local invoker = require 'invoker' local tasklua = require 'tasklua' local function task_00() local nowt = invoker.uptimsec() local nextim = nowt + 1500 while true do nowt = invoker.uptimsec() while nowt < nextim do tasklua.delay(nextim - nowt) nowt = invoker.uptimsec() end io.stdout:write(string.format("In task_00: %s\n", os.date())) io.stdout:flush() nextim = nextim + 1500 end end local function task_01() local nowt = invoker.uptimsec() local nextim = nowt + 3000 while true do nowt = invoker.uptimsec() while nowt < nextim do tasklua.delay(nextim - nowt) nowt = invoker.uptimsec() end io.stdout:write(string.format("In task_01 -> %s\n", os.date())) io.stdout:flush() nextim = nextim + 3000 end end tasklua.taskadd(task_00, false) tasklua.taskadd(task_01, false) tasklua.taskloop()