Laravel Tutorials

Laravel Scheduler

Published Updated
Laravel Scheduler image

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.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
NativePHP v4: Build Native iOS and Android UI in Blade image

NativePHP v4: Build Native iOS and Android UI in Blade

Read article
Laravel Lock: Distributed Locks for Models and Routes image

Laravel Lock: Distributed Locks for Models and Routes

Read article
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article
Pause All Laravel Queues During a Deploy image

Pause All Laravel Queues During a Deploy

Read article
Laravel Terminal UI for the artisan dev Command image

Laravel Terminal UI for the artisan dev Command

Read article
Pause All Queues and a New artisan dev UI in Laravel 13.25 image

Pause All Queues and a New artisan dev UI in Laravel 13.25

Read article