原子移动队列元素 (LCC.kvdb.queue.move)
声明
value, err = LCC.kvdb.queue.move(from_name, pop?, to_name, push?, timeout?)
参数
- from_name
字符串型,源队列名称(非空,最长256字节) - pop
字符串型,可选;源队列弹出方向,"front"或"back",默认"front" - to_name
字符串型,目标队列名称(非空,最长256字节) - push
字符串型,可选;目标队列推入方向,"front"或"back",默认"back" - timeout
数值型,可选;请求超时时间(秒),默认60
返回值
- value
字符串型,被移动的元素;在源队列为空时为nil - err
字符串型或nil,失败或源队列为空时返回'not found'
说明
原子地从源队列弹出一个元素并推入目标队列。
适合实现抢占式任务转移,避免并发竞争。
源队列为空时返回nil, 'not found'。
示例
local value, err = LCC.kvdb.queue.move("待处理", "front", "进行中", "back")
if value then
print("领取任务:", value)
end