The Daily Commit · Edición de sección Portada PHP AI Dev EN DE FR ES

The Php Times

Lecturas — Ecosistema

Laravel 13.31 añade Queue::totalSize() y un evento JobInterrupted


Laravel v13.31.0 incluye un nuevo método Queue::totalSize() y un evento JobInterrupted para jobs Interruptible.

LARAVEL NEWS, 9 de septiembre de 2026 seleccionado por Sönke

La versión también añade soporte chaperone para modelos pivot BelongsToMany, un método Vite devServerUrl(), aserciones once para los fakes de Mail y Notification, y una larga lista de correcciones.

El equipo de Laravel publicó la versión v13.31.0 el 8 de septiembre de 2026. Las novedades principales son un método Queue::totalSize() y un nuevo evento JobInterrupted.

terminal
use Illuminate\Queue\Events\JobInterrupted;

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

Jack Bayliss contribuyó totalSize(), que devuelve el número total de jobs en una conexión de cola con una sola llamada. Antes había que sumar manualmente totalPendingSize(), totalDelayedSize() y totalReservedSize(). El pull request es el #61373.

Bayliss también añadió el evento JobInterrupted en la PR #61412. Se dispara cuando un worker interrumpe un job que implementa el contrato Interruptible, lo que permite enganchar limpieza o registro. Otro cambio del mismo colaborador añade los nombres de conexión y cola al evento WorkerStopping existente cuando se mata un worker.

Caleb White incorporó soporte chaperone para los modelos pivot BelongsToMany en la PR #61152. Llamar a chaperone() en una relación belongsToMany permite a un modelo pivot personalizado resolver sus relaciones BelongsTo a partir de los modelos ya hidratados durante la carga, sin consultas adicionales. Sin un modelo pivot personalizado, la llamada no hace nada. Los nombres de relación se deducen automáticamente, pero pueden sobrescribirse con los argumentos declaring y related.

La clase Vite gana un método devServerUrl() gracias a ramonmalcolm10, útil para generar URLs de assets contra el servidor de desarrollo. Los fakes de Mail y Notification reciben aserciones once de talaridisTh: assertSentOnce() y assertQueuedOnce() para Mail, además de assertSentToOnce() y assertSentOnDemandOnce() para Notification, en sustitución del patrón assertSentTimes(..., 1).

El changelog incluye además correcciones destacadas. Orrison hizo el driver de colas Redis seguro para clústeres y añadió reintentos en phpredis ante reinicios de conexión. Se corrigió una fuga de memoria en el cliente HTTP. Otras correcciones afectan a lazy() y lazyById(), que ignoraban limit() y offset(), a la propagación de contexto a procesos concurrentes, al ámbito de closures de wherePivot(), a los atributos UsePolicy y UseEloquentBuilder, que ahora se resuelven desde clases padre, y al método create_sid() que faltaba en ArraySessionHandler de cara a PHP 9.0. El diff completo entre v13.30.1 y v13.31.0 está en GitHub.

Leer la fuente original (en inglés) ↗

Valora este artículo: 0

Tribuna de lectores

Aún no hay aportaciones — abre el debate.

← Ecosistema — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Edición de pantalla · Información legal · Política de privacidad