Lấy phần tử khỏi cuối hàng đợi (LCC.kvdb.queue.pop_back)
Khai báo
value, err = LCC.kvdb.queue.pop_back(name, timeout?)
values, err = LCC.kvdb.queue.pop_back({name = name, max = n}, timeout?)
Tham số
- name
Kiểu chuỗi, tên hàng đợi (không được rỗng, tối đa
256byte); truyền{name = "...", max = n}để lấy nhiều phần tử ra cùng lúc - timeout
Kiểu số, tùy chọn; thời gian chờ yêu cầu (giây), mặc định là60
Giá trị trả về
- value
Kiểu chuỗi, phần tử đã được lấy ra; lànilkhi hàng đợi rỗng - values
Mảng chuỗi, danh sách phần tử được lấy ra trong chế độ hàng loạt; là
{}khi hàng đợi rỗng - err
Kiểu chuỗi hoặc
nil; ở chế độ một giá trị, trả về'not found'khi hàng đợi rỗng hoặc không tồn tại
Mô tả
Lấy và xóa một phần tử khỏi cuối hàng đợi.
Chế độ hàng loạt trả về tối đamaxphần tử theo đúng thứ tự chúng được lấy ra. Phù hợp với tình huống tiêu thụ theo nguyên tắc vào sau ra trước (LIFO).
Ví dụ
local value, err = LCC.kvdb.queue.pop_back("Tác vụ đang chờ")
if value then
print("Xử lý tác vụ mới nhất:", value)
end
local values, batch_err = LCC.kvdb.queue.pop_back({name = "Tác vụ đang chờ", max = 3})
for _, item in ipairs(values or {}) do
print("Xử lý tác vụ mới nhất:", item)
end