Laravel

Laravel 10.39 with a round-robin mailer, dynamic max tries on queued jobs

366 Views 02 January 2024
Laravel 10.39 with a round-robin mailer, dynamic max tries on queued jobs

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

    }

}

----------------------------------

Img

Written by

Sandeep Gajera

Sandeep Gajera is a Founder and Technical Director at AstroJal Technology. He is dedicated to making the best use of modern technologies to craft end-to-end solutions. He also has a vast knowledge of Cloud management like AWS / Google Cloud. He loves to do coding so still doing the coding. Also, help employees for quality based solutions to clients. Always eager to learn new technology and implement for best solutions.