Zum Hauptinhalt springen

Vom Queue-Ende entnehmen (LCC.kvdb.queue.pop_back)

Deklaration​

value, err = LCC.kvdb.queue.pop_back(name, timeout?)
values, err = LCC.kvdb.queue.pop_back({name = name, max = n}, timeout?)

Parameter​

  • name String. Queue-Name (nicht leer, maximal 256 Byte). Für das Stapel-Entnehmen {name = "...", max = n} übergeben.
  • timeout
    Zahl, optional. Anfrage-Timeout in Sekunden, Standard 60.

Rückgabewerte​

  • value
    String. Vom Queue-Ende entnommenes Element; nil, wenn die Queue leer ist.
  • values String-Array. Im Stapelmodus entfernte Elemente; {}, wenn die Queue leer ist.
  • err String oder nil. Im Einzelwertmodus wird bei leerer oder fehlender Queue 'not found' zurückgegeben.

Hinweise​

Entfernt das letzte Element aus der Queue und gibt es zurück.
Der Stapelmodus gibt bis zu max Elemente in der tatsächlichen Entnahmereihenfolge zurück. Geeignet für eine Verarbeitung nach dem LIFO-Prinzip.

Beispiel​

local value, err = LCC.kvdb.queue.pop_back("待处理任务")
if value then
print("处理最新任务:", value)
end

local values, batch_err = LCC.kvdb.queue.pop_back({name = "待处理任务", max = 3})
for _, item in ipairs(values or {}) do
print("处理最新任务:", item)
end