0

バックグラウンドで定期的に (たとえば 10 分に 1 回) いくつかのタスクを実行する tarantool 用の lua プログラムを作成する方法は?

4

1 に答える 1

3

最初の方法繊維を使用します。ファイバー - 協調マルチタスクで実行される一連の命令です。ファイバー パッケージによって管理されるファイバーは、ファイバー関数と呼ばれるユーザー提供の関数に関連付けられます。ファイバーには、実行中、一時停止、停止の 3 つの状態があります。

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)

2 番目の方法 使用期限切れ- https://github.com/tarantool/expirationd

于 2016-06-19T10:22:46.283 に答える