Mover atomicamente um elemento da fila (LCC.kvdb.queue.move)
Declaração
value, err = LCC.kvdb.queue.move(from_name, pop?, to_name, push?, timeout?)
Parâmetros
- from_name
Tipo string; nome da fila de origem (não vazio, no máximo256bytes) - pop
Tipo string, opcional; direção de retirada da fila de origem,"front"ou"back", padrão"front" - to_name
Tipo string; nome da fila de destino (não vazio, no máximo256bytes) - push
Tipo string, opcional; direção de inserção na fila de destino,"front"ou"back", padrão"back" - timeout
Tipo number, opcional; tempo limite da solicitação (em segundos), padrão60
Valor de retorno
- value
Tipo string; elemento movido, ounilquando a fila de origem está vazia - err
Tipo string ounil; retorna'not found'em caso de falha ou quando a fila de origem está vazia
Descrição
Retira atomicamente um elemento da fila de origem e o insere na fila de destino.
É adequado para implementar a transferência preemptiva de tarefas e evitar disputas de concorrência.
Quando a fila de origem está vazia, retornanil, 'not found'.
Exemplo
local value, err = LCC.kvdb.queue.move("待处理", "front", "进行中", "back")
if value then
print("领取任务:", value)
end