バックグラウンドで定期的に (たとえば 10 分に 1 回) いくつかのタスクを実行する tarantool 用の lua プログラムを作成する方法は?
質問する
538 次
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 に答える