Saltar al contenido principal

Extraer desde el principio de la cola (LCC.kvdb.queue.pop_front)

Declaración​

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; nombre de la cola (no vacío, máximo 256 bytes); si pasas {name = "...", max = n}, se extraen elementos por lotes
  • timeout
    Tipo numérico, opcional; tiempo de espera de la solicitud (segundos), predeterminado 60

Valores devueltos​

  • value
    Tipo string; elemento extraído; nil cuando la cola está vacía
  • values Array de cadenas; lista de elementos extraídos en modo por lotes; {} cuando la cola está vacía
  • err Tipo string o nil; en modo de un solo valor, devuelve 'not found' si la cola está vacía o no existe

Descripción​

Extrae un elemento desde el principio de la cola.
En el modo por lotes, devuelve como máximo max elementos en el orden en que se extraen. Si la cola está vacía, devuelve nil, 'not found'.

Ejemplo​

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