Извлечение из конца очереди (LCC.kvdb.queue.pop_back)
Сигнатура
value, err = LCC.kvdb.queue.pop_back(name, timeout?)
values, err = LCC.kvdb.queue.pop_back({name = name, max = n}, timeout?)
Параметры
- name
Строка, имя очереди (непустое, максимум
256байт); при передаче{name = "...", max = n}выполняется пакетное извлечение - timeout
Число, необязательный тайм-аут запроса (секунды), по умолчанию60
Возвращаемое значение
- value
Строка, извлечённый элемент; при пустой очереди —nil - values
Массив строк, список извлечённых элементов в пакетном режиме; при пустой очереди —
{} - err
Строка или
nil; в режиме одного значения при пустой или отсутствующей очереди возвращается'not found'
Описание
Извлекает один элемент из конца очереди.
В пакетном режиме возвращается не болееmaxэлементов в фактическом порядке извлечения. Подходит для сценариев потребления по принципу LIFO.
Пример
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