Извлечение из начала очереди (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'
Описание
Извлекает один элемент из начала очереди.
В пакетном режиме возвращается не более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