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

Experienced PHP Developer
Wilmington, NC
Queensboro Shirt Company
Senior Laravel developer
Netherlands, Rotterdam
Pionect
Senior Laravel Engineer
Remote okay (must already live in USA)
Hawthorne Effect
Senior Software Engineer (Remote - Contract)
Remote
Koodi Systems
PHP Developer
Pittsburgh / Remote
Sequoia Waste Solutions
Software Developer
Eindhoven
Simac IDS
Application Developer Level II (CakePHP / MySql / Vue.js)
Lancaster, PA
Harbor Compliance