キュー先頭から取り出して削除する (LCC.kvdb.queue.pop_front)
宣言
value, err = LCC.kvdb.queue.pop_front(name, timeout?)
values, err = LCC.kvdb.queue.pop_front({name = name, max = n}, timeout?)
引数
- name
文字列。キュー名です(空文字列は不可、最大
256バイト)。{name = "...", max = n}を渡すと複数の要素を一括で取り出して削除します - timeout
任意の数値。リクエストのタイムアウト(秒)です。既定値は60です
戻り値
- value
文字列。先頭から取り出され、キューから削除された要素です。キューが空の場合はnilになります - values
文字列配列。一括モードで取り出され、キューから削除された要素の一覧です。キューが空の場合は
{}になります - err
文字列または
nil。単一値モードでキューが空または存在しない場合は'not found'を返します
説明
キューの先頭から要素を 1 つ取り出し、その要素をキューから削除します。
一括モードでは、実際に取り出して削除した順序で最大max個の要素を返します。 キューが空の場合はnil, 'not found'を返します。
例
local value, err = LCC.kvdb.queue.pop_front("処理待ちタスク")
if value then
print("タスクを処理:", value)
end
local values, batch_err = LCC.kvdb.queue.pop_front({name = "処理待ちタスク", max = 3})
for _, item in ipairs(values or {}) do
print("タスクを処理:", item)
end