Déduplication des files d'attente, signaux de vie et chargement plus sûr des tâches
· Impact sur votre code : élevé
Le package @adonisjs/queue a publié la version 0.6.2, mettant à jour sa dépendance vers @boringnode/queue@0.6.0 qui introduit la déduplication des tâches et les signaux de vie des workers. Les utilisateurs de base de données doivent mettre à jour le schéma de leur table queue_jobs pour supporter la déduplication. Le cycle de vie de la découverte des tâches a changé pour s'exécuter lors de la phase de démarrage de l'application au lieu du boot du provider afin d'éviter les imports prématurés et les services non résolus. Les commandes console chargent toujours explicitement les tâches. Les adaptateurs de file d'attente personnalisés doivent implémenter une nouvelle méthode renewJobs pour les signaux de vie.
Les développeurs utilisant @adonisjs/queue doivent mettre à jour leur schéma de base de données s'ils utilisent le driver base de données, adapter tout adaptateur de file d'attente personnalisé pour implémenter la nouvelle méthode renewJobs, et être conscients du changement dans le cycle de chargement des tâches qui peut affecter le timing d'initialisation et la résolution des services. Les commandes console nécessitant des tâches doivent désormais les charger explicitement.
- Exécuter QueueSchemaService.addDedupColumns() pour mettre à jour les tables queue_jobs existantes afin de supporter la déduplication si vous utilisez le driver base de données
- Passer le nom personnalisé de la table des tâches à addDedupColumns() si applicable
- Implémenter la méthode renewJobs(queue, jobIds) dans tout adaptateur de file d'attente personnalisé pour supporter les signaux de vie des workers
- Adapter le code de l'application pour prendre en compte que la découverte des tâches s'exécute lors de la phase de démarrage de l'application au lieu du boot du provider
- Charger explicitement les tâches dans les commandes console qui en ont besoin, comme queue:work
Sources originales
Analyse générée par IA à partir des sources citées. Consultez la documentation originale avant de modifier votre application.