如何为tarantool编写lua-daemon

时间:2016-06-04 19:32:18

标签: lua daemon tarantool

如何为tarantool编写lua程序,以便在后台定期执行某些任务(例如每10分钟执行一次)?

1 个答案:

答案 0 :(得分:3)

第一种方式 使用fibers。 Fibers - 是一组使用协作式多任务处理执行的指令。由光纤封装管理的光纤与用户提供的称为光纤功能的功能相关联。光纤有三种可能的状态:运行,暂停或死亡。

实施例

fiber.create(function()
 while true do
   -- Let say you have space with tree index.
   -- Where each row index is timestamp + interval.
   -- So, here you can get lower/upper bound by current timestamp e.g.
   -- space:select{fiber.now()} -- get expired tasks
   fiber.sleep(1) -- interval
 end
end)

第二种方式 使用expirationd - https://github.com/tarantool/expirationd