News

Background Queue Connection in Laravel 12.37

Published
Background Queue Connection in Laravel 12.37 image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released version 12.37.0, with new background queue driver, a Factory insert method, a ucwords() string method, and more.

Process Queue Jobs in the Background

Barry vd. Heuvel contributed a queue driver that defers jobs to the background using Concurrently::defer(). The job is serialized and run from a PHP process:

Similar to the deferred queue driver, this defers the jobs to the background, but uses Concurrently::defer() instead of the regular defer. This means the job will be serialized and ran from a PHP process, which might be more suitable for 'heavier'/longer requests.

Use cases would be similar to Concurrently::defer() but simplified as a Job.

RecordDelivery::dispatch($order)->onConnection('background');

See the Deferred Dispatching documentation for more details.

Pass a Custom Depth to Filesystem files() and directories() Methods

Andrew Brown contributed the ability to pass an optional depth parameter to filesystem methods. This update is backward compatible because the default is 0, which was previously the hard-coded depth.

use Illuminate\Support\Facades\Storage;
 
$files = Storage::files($directory, depth: 2);
 
$directories = Storage::directories($directory, depth: 2);

Factory Insert Method

Luke Kuzmish contributed a Factory::insert() method that allows performing a mass insert of models. When using create with a large count, create inserts records in separate insert queries:

User::factory()->count(100)->create();
 
// Insert model records in bulk
User::factory()->count(100)->insert($attributes = [], $parent = null);

When using the insert() method, no model events are emitted.

Json Schema Improvements

Timo Mühlbach contributed updates to the JSON schema implementation, adding support for backed enums and a format method for StringType:

// Enum Before
$schema->string('oneof')->enum(['a', 'b', 'c']);
 
// After
$schema->string('oneof')->enum(Options::class);
 
// Add a `format()` method for `StringType
$schema->string('somedate')->format('date');

Add ucwords() Method to Stringable

@braxey contributed a ucwords() method to the Str helper and Stringable class:

Str::ucwords('laravel framework'); // Laravel Framework
 
str('laravel frameWork')->lower()->ucwords(); // Laravel Framework

About Command Improvements

Chinmay Purav contributed updates to the php artisan about command to provide detailed information for failover drivers:

  • Cache failover
  • Queue failover
  • Mail failover and roundrobin

See Pull Request #57579, #57582, and #57590 for screenshots.

Release notes

You can see the complete list of new features and updates below and the diff between 12.36.0 and 12.37.0 on GitHub. The following release notes are directly from the changelog:

v12.37.0

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article
Pause All Laravel Queues During a Deploy image

Pause All Laravel Queues During a Deploy

Read article
Laravel Terminal UI for the artisan dev Command image

Laravel Terminal UI for the artisan dev Command

Read article
Pause All Queues and a New artisan dev UI in Laravel 13.25 image

Pause All Queues and a New artisan dev UI in Laravel 13.25

Read article
Laravel monitoring that doesn't bill you by your traffic image

Laravel monitoring that doesn't bill you by your traffic

Read article
Mock PHP Classes in Tests With the Double Library image

Mock PHP Classes in Tests With the Double Library

Read article