File d’attente et Redis
Le pilote utilise Redis et BullMQ afin que les tâches d’impression survivent aux erreurs de processus et aux pannes d’imprimante.Files d’attente par imprimante
Chaqueip_address:port unique reçoit un PrinterStore dédié.
Par exemple:
- Une file d’attente BullMQ.
- Un travailleur BullMQ.
- Un écouteur d’événements de file d’attente.
- Un cache d’état de l’imprimante.
- Un contrôleur de cycle de vie de socket.
1, donc une imprimante ne reçoit jamais deux tâches en même temps. Différentes imprimantes peuvent traiter en parallèle car chaque imprimante a son propre opérateur.
Registre des imprimantes
Les imprimantes connues sont stockées dans l’ensemble Redis :restorePersistedStores() lit l’ensemble, recrée les magasins et réessaye les tâches ayant échoué.
Comportement de nouvelle tentative
Options de file d’attente par défaut :- Les tâches terminées sont supprimées.
- Les tâches ayant échoué sont conservées.
- Les tâches ayant échoué, réessayez avec un délai d’attente fixe.
- Le
maxAttemptspar défaut réessaye effectivement pour toujours.
Travaux planifiés
POST /print accepte runAt.
Si runAt est dans le futur, le pilote ajoute le travail avec un délai BullMQ. Si une tâche retardée a été créée pour une planification future, la logique de récupération ne la favorise pas plus tôt.
Formulaires runAt acceptés :
- Numéro d’horodatage en millisecondes.
- Chaîne numérique.
- Chaîne de date que
Date.parse()peut analyser.
Statut de la file d’attente
GET /queue-status regroupe tous les magasins connus :
waitingactivedelayedfailedcompletedtotalPendingisProcessing
totalPending est waiting + delayed dans tous les magasins.
Redis intégré
Le mode intégré démarre de Redis àredis-memory-server.
Sous Windows, le pilote vérifie ou télécharge le binaire Redis demandé :
config.redis.version, le démarrage est interrompu.
Synchronisation de disque
Lorsqueredis.diskSync est vrai, Redis démarre avec les paramètres d’instantané :
SAVE.
Utilisez la synchronisation de disque lorsque vous avez besoin de files d’attente et d’imprimantes connues pour survivre aux redémarrages.