How to put schedule task jobs in chain in laravel?

Member

by lottie , in category: PHP Frameworks , 6 months ago

How to put schedule task jobs in chain in laravel?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

by cortez.connelly , 6 months ago

@lottie 

In Laravel, you can chain scheduled tasks by defining multiple tasks within the schedule method in your AppConsoleKernel class.


Here is an example of how you can chain tasks in Laravel:

  1. Define the first task in the schedule method:
1
2
3
4
protected function schedule(Schedule $schedule)
{
    $schedule->command('first-task')->daily();
}


  1. Define the second task, which will chain to the first task using the then method:
1
2
3
4
5
6
7
protected function schedule(Schedule $schedule)
{
    $schedule->command('first-task')->daily()
             ->then(function () {
                 $schedule->command('second-task')->daily();
             });
}


  1. You can continue chaining tasks by adding more then methods as needed:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
protected function schedule(Schedule $schedule)
{
    $schedule->command('first-task')->daily()
             ->then(function () {
                 $schedule->command('second-task')->daily();
             })
             ->then(function () {
                 $schedule->command('third-task')->daily();
             });
}


By chaining tasks in this way, you can define a sequence of scheduled tasks that will be executed in sequence at the specified intervals. The then method allows you to define dependencies between tasks and ensure that they run in the desired order.