Déplacer atomiquement un élément de file (LCC.kvdb.queue.move)
Déclaration
value, err = LCC.kvdb.queue.move(from_name, pop?, to_name, push?, timeout?)
Paramètres
- from_name
Type chaîne, nom de la file source (non vide,256octets au maximum) - pop
Type chaîne, facultatif ; côté de retrait de la file source,"front"ou"back","front"par défaut - to_name
Type chaîne, nom de la file cible (non vide,256octets au maximum) - push
Type chaîne, facultatif ; côté d'insertion de la file cible,"front"ou"back","back"par défaut - timeout
Type numérique, facultatif ; délai d'attente de la demande en secondes,60par défaut
Valeurs de retour
- value
Type chaîne, élément déplacé ;nilsi la file source est vide - err
Type chaîne ounil, renvoie'not found'en cas d'échec ou lorsque la file source est vide
Description
Retire atomiquement un élément de la file source et l'insère dans la file cible.
Convient au transfert de tâches par préemption et évite les courses entre accès concurrents.
Une file source vide renvoienil, 'not found'.
Exemple
local value, err = LCC.kvdb.queue.move("待处理", "front", "进行中", "back")
if value then
print("领取任务:", value)
end