The signifly/laravel-scheduling-tasks
package allows you to easily organize your scheduling tasks and comes with a handy make:task
command.
Below is a small example of how to use it.
// Inside the app/Console/Kernel.php file add this
use Signifly\SchedulingTasks\Facades\TaskLoader;
protected function schedule(Schedule $schedule)
{
TaskLoader::loadFor($schedule);
}
In order to make a new task, use the command that comes with the package:
$ php artisan make:task BackupDaily
It generates a new task located at app/Console/Tasks/BackupDaily.php
, which can be configured this way:
<?php
namespace App\Console\Tasks;
use Signifly\SchedulingTasks\TaskContract;
use Illuminate\Console\Scheduling\Schedule;
class BackupDaily implements TaskContract
{
public function __invoke(Schedule $schedule)
{
$schedule->command('backup:run')
->daily()
->at('01:00');
}
}
In case you have a task that you want to exclude from getting loaded, it can be achieved like this:
protected function schedule(Schedule $schedule)
{
TaskLoader::loadFor($schedule, [
\App\Console\Tasks\BackupDaily::class,
]);
// \App\Console\Tasks\BackupDaily::class will not get loaded.
}
You can install the package via composer:
$ composer require signifly/laravel-scheduling-tasks
The package will automatically register itself.
$ composer test
If you discover any security issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.