This week, the Laravel team released v10.39 with a round-robin mailer, dynamic max tries on queued jobs, and more. Here is a bit more info about the new features introduced in Laravel v10.39 this week:
Round-robin Mailer
Ahmed shamim contributed a new round-robin mailer transport driver that distributes the mailing workload across multiple transports:
Basically, failover
transport driver is extended from the roundrobin
transport driver class by only overriding the logic for selecting the next transport. But the use case is different for these two drivers. The failover
driver helps to achieve High availability and roundrobin
helps to achieve load-balancing
.
Here's what the application configuration update looks like in your Laravel application's confi/mail.php
file:
'roundrobin' => [
'transport' => 'roundrobin',
'mailers' => [
'ses',
'postmark',
],
],
This feature is documented in the official Mail documentation round robin configuration. Finally, you can learn more in Symfony's Mailer load balancing documentation and Pull Request #49435.
Dynamic Max Tries on Queued Jobs
@Di contributed the ability to define a dynamic maxTries
for a queued job, similar to backoff()
. Previously, you could define a dynamic value via the $tries
property (which still takes precedence), but now you can define the method on your job:
class TestJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
// If the property is still defined, it precedes over the tries() method,
// providing the same behavior as the backoff definition
public $tries = 3;
public function tries(): int
{
return config('test_job.retries'); // Example: Get the number of tries from config
}
}
Release notes
You can see the complete list of new features and updates below and the diff between 10.38.0 and 10.39.0 on GitHub. The following release notes are directly from the changelog:
v10.39.0
- [9.x] Support for phpredis 6.0.0 by @MichalHubatka in https://github.com/laravel/framework/pull/48380
- [10.x] Dynamic
maxTries
for queued jobs by @mechelon in https://github.com/laravel/framework/pull/49473 - [10.x] Avoid TypeError when using json validation rule when PHP < 8.3 by @Xint0 in https://github.com/laravel/framework/pull/49474
- [10.x] Fix use statement compilation in Blade templates by @MrPunyapal in https://github.com/laravel/framework/pull/49479
- [10.x] Allow testing prompts validation by @cerbero90 in https://github.com/laravel/framework/pull/49447
- [10.x] Add 'Roundrobin' Symfony mailer transport driver by @me-shaon in https://github.com/laravel/framework/pull/49435
The post Laravel 10.39 with a round-robin mailer, dynamic max tries on queued jobs, and more appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.