Laravel Scheduler

Laravel Scheduler

A brand new feature in Laravel 5 is an Artisan scheduler. This is designed to simplify tasks that need to be scheduled. All that is required is setting up one cron job that calls php artisan schedule:run and have it run every minute.

Once your cron is setup, you can schedule any task to run in a concise and friendly manner. It takes the pain out of having to remember cron scheduling and is really simple. These schedules are created inside your “app/Console//Kernel.php” file.

Here is an example of a fictional task to clear the cache every hour:

$schedule->command('cache:clear')
    ->hourly()
    ->sendOutputTo($filePath)
    ->emailOutputTo('john@doe.com');

It doesn’t end there. You can also call class methods:

$schedule->call('SomeClass@method')->dailyAt('10:00');

Or use a closure:

$schedule->call(function(){
    //.. 
})->everyThirtyMinutes();

And even terminal commands:

$schedule->terminal('gulp task')->fridays()->when(function(){ 
    return true;
});

Laravel has always had developers in mind when creating new features and this one is no different. Take a look at the different scheduling methods available:

  • ->hourly()
  • ->daily()
  • ->at($time) // 24 hour time
  • ->dailyAt($time)
  • ->twiceDaily()
  • ->weekdays()
  • ->mondays()
  • ->tuesdays()
  • ->wednesdays()
  • ->thursdays()
  • ->fridays()
  • ->saturdays()
  • ->sundays()
  • ->weekly()
  • ->weeklyOn($day, $time)
  • ->monthly()
  • ->yearly()
  • ->everyFiveMinutes()
  • ->everyTenMinutes()
  • ->everyThirtyMinutes()
  • ->days() // Days of the week.

I love the syntax and there is even more which you can find in this file. If you want to dig deeper check out everything new in Laravel 5

This is another feature that is aimed at increasing your developer happiness. I think you’ll enjoy it and it will bring a lot of power to your apps.


Filed in: Laravel Tutorials / Scheduler


Newsletter

Join the weekly newsletter and never miss out on new tips, tutorials, and more.

Laravel News Partners

Laravel Jobs

PHP Web Developer
Orlando, FL
Christ for all Nations
PHP Developer
Manhattan, KS (open to Remote)
CivicPlus
Mid-Senior Laravel Developer
Exeter
Optix Solutions
Full Stack Web Developer
Las Vegas, NV
V Shred
Staff Software Engineer (Laravel)
Remote
smartbnb
Software Engineer (PHP, Laravel, Vue)
Los Angeles, CA
Relocity
Software Engineer Level 1 / Level 2
St. Pete. / Tampa Area, FL / Remote
ShineOn