mirzabusatlic / laravel-schedule-monitor
Monitor the output of scheduled tasks in a database table
Installs: 56 376
Dependents: 0
Suggesters: 0
Security: 0
Stars: 28
Watchers: 3
Forks: 6
Open Issues: 1
Requires
- illuminate/console: >=5.3.0
- illuminate/database: >=5.3.0
- illuminate/support: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 5.4.*
This package is auto-updated.
Last update: 2024-11-17 10:34:58 UTC
README
Track the output of your scheduled tasks in a database table.
Installation
- Install through composer:
composer require mirzabusatlic/laravel-schedule-monitor
- Add
Busatlic\ScheduleMonitor\ScheduleMonitorServiceProvider::class
to your list of$providers
in to yourconfig/app.php
. - Publish the migration using
php artisan vendor:publish --provider=Busatlic\\ScheduleMonitor\\ScheduleMonitorServiceProvider
. - Run
php artisan migrate
to create thescheduled_events
table in your database.
Usage
- In your
app/Console/Kernel.php
, include theBusatlic\ScheduleMonitor\MonitorsSchedule
trait. - Call
$this->monitor($schedule)
after you've defined your scheduled commands inschedule()
.
This will look something like:
<?php namespace App\Console; use Busatlic\ScheduleMonitor\MonitorsSchedule; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { use MonitorsSchedule; /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ \App\Console\Commands\DeleteFilesCommand::class, \App\Console\Commands\FlushEventsCommand::class, ]; /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * * @return void */ protected function schedule(Schedule $schedule) { $schedule->command('files:delete')->dailyAt('00:05'); $schedule->command('events:flush')->hourly(); $this->monitor($schedule); } }
Whenever a scheduled command is then run, the its output will be inserted into the scheduled_events
table.