Ir para o conteúdo principal

Retirar do fim da fila (LCC.kvdb.queue.pop_back)

Declaração​

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

Parâmetros​

  • name Tipo string; nome da fila (não vazio, no máximo 256 bytes); passe {name = "...", max = n} para retirar em lote
  • timeout
    Tipo number, opcional; tempo limite da solicitação (em segundos), padrão 60

Valor de retorno​

  • value
    Tipo string; elemento retirado, ou nil quando a fila está vazia
  • values Array de strings; lista de elementos retirados no modo em lote, ou {} quando a fila está vazia
  • err Tipo string ou nil; no modo de valor único, retorna 'not found' quando a fila está vazia ou não existe

Descrição​

Retira um elemento do fim da fila.
No modo em lote, retorna no máximo max elementos na ordem real em que foram retirados. É adequado para cenários de consumo último a entrar, primeiro a sair (LIFO).

Exemplo​

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