revolta77 / laravel-schedule-monitor
Monitor the output of scheduled tasks in a database table
v1.04
2020-04-20 07:52 UTC
Requires
- illuminate/console: >=5.3.0
- illuminate/database: >=5.3.0
- illuminate/support: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 5.4.*
README
Track the output of your scheduled tasks in a database table.
Fork
This is extend version of https://github.com/mirzabusatlic/laravel-schedule-monitor
Installation
- Install through composer:
composer require revolta77/laravel-schedule-monitor
- Add
Revolta77\ScheduleMonitor\ScheduleMonitorServiceProvider::class
to your list of$providers
in to yourconfig/app.php
. - Publish the migration using
php artisan vendor:publish --provider=Revolta77\\ScheduleMonitor\\ScheduleMonitorServiceProvider
. - Run
php artisan migrate
to create tables in your database.
Usage
- In your
app/Console/Kernel.php
, include theRevolta77\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 Revolta77\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 table.
Important Note: This plugin is licensed under MIT license. Even if you forbid to use MIT licensed packages in your project the plugin itself is the only package it would not complain about (otherwise further checking would not work obviously).