Ir para o conteúdo principal

Retirar do início da fila (LCC.kvdb.queue.pop_front)

Declaração​

value, err = LCC.kvdb.queue.pop_front(name, timeout?)
values, err = LCC.kvdb.queue.pop_front({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 início da fila.
No modo em lote, retorna no máximo max elementos na ordem real em que foram retirados. Quando a fila está vazia, retorna nil, 'not found'.

Exemplo​

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