The Daily Commit · Édition de rubrique La une PHP AI Dev EN DE FR ES

The Php Times

Lectures — Écosystème

Laravel 13.31 ajoute Queue::totalSize() et un événement JobInterrupted


Laravel v13.31.0 apporte une méthode Queue::totalSize() et un événement JobInterrupted pour les jobs Interruptible.

LARAVEL NEWS, 9 septembre 2026 sélectionné par Sönke

La version ajoute aussi le support chaperone pour les modèles pivot BelongsToMany, une méthode Vite devServerUrl(), des assertions once pour les fakes Mail et Notification, et de nombreux correctifs.

L'équipe Laravel a publié la version v13.31.0 le 8 septembre 2026. Les principales nouveautés sont une méthode Queue::totalSize() et un nouvel événement JobInterrupted.

terminal
use Illuminate\Queue\Events\JobInterrupted;

Event::listen(JobInterrupted::class, function (JobInterrupted $event) {
    // Handle the job interruption
});

Jack Bayliss a contribué totalSize(), qui renvoie le nombre total de jobs sur une connexion de queue en un seul appel. Auparavant, il fallait additionner manuellement totalPendingSize(), totalDelayedSize() et totalReservedSize(). La pull request est la #61373.

Bayliss a également ajouté l'événement JobInterrupted dans la PR #61412. Il se déclenche quand un worker interrompt un job implémentant le contrat Interruptible, ce qui permet d'y accrocher du nettoyage ou de la journalisation. Une autre modification du même contributeur ajoute les noms de connexion et de queue à l'événement WorkerStopping existant lorsqu'un worker est tué.

Caleb White a apporté le support chaperone aux modèles pivot BelongsToMany dans la PR #61152. Appeler chaperone() sur une relation belongsToMany permet à un modèle pivot personnalisé de résoudre ses relations BelongsTo à partir des modèles déjà hydratés lors du chargement, sans requêtes supplémentaires. Sans modèle pivot personnalisé, l'appel est sans effet. Les noms de relation sont devinés automatiquement mais peuvent être redéfinis via les arguments declaring et related.

La classe Vite gagne une méthode devServerUrl() grâce à ramonmalcolm10, utile pour construire des URL d'assets vers le serveur de développement. Les fakes Mail et Notification reçoivent des assertions once de la part de talaridisTh : assertSentOnce() et assertQueuedOnce() pour Mail, ainsi que assertSentToOnce() et assertSentOnDemandOnce() pour Notification, en remplacement du style assertSentTimes(..., 1).

Le changelog contient aussi des correctifs notables. Orrison a rendu le driver de queue Redis compatible avec les clusters et ajouté une gestion des nouvelles tentatives pour phpredis en cas de réinitialisation de connexion. Une fuite mémoire dans le client HTTP a été corrigée. D'autres correctifs concernent lazy() et lazyById() qui ignoraient limit() et offset(), la propagation du contexte vers les processus concurrents, la portée des closures de wherePivot(), les attributs UsePolicy et UseEloquentBuilder désormais résolus depuis les classes parentes, et le create_sid() manquant dans ArraySessionHandler en prévision de PHP 9.0. Le diff complet entre v13.30.1 et v13.31.0 est disponible sur GitHub.

Lire la source originale (en anglais) ↗

Évaluer cet article : 0

Tribune des lecteurs

Pas encore de contributions — lance le débat.

← Écosystème — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Édition écran · Mentions légales · Politique de confidentialité