acdphp/laravel-schedule-police

Stop, start or execute scheduled commands from a simple dashboard without redeploying, while maintaining the visibility, control, and reviewability of the configurations in your codebase.

v2.0.2 2024-04-16 17:44 UTC

This package is auto-updated.

Last update: 2024-11-17 14:15:30 UTC


README

Latest Stable Version

Use this if you need to:

  • ✅ Stop and start scheduled commands without redeploying.
  • ✅ Execute commands without going into server console.
  • ✅ Keep the visibility, control, and reviewability of the schedule configurations in your codebase.

Compatibility Matrix

Installation

  1. Install the package

    composer require acdphp/laravel-schedule-police
  2. Run the migration.

    php artisan migrate
  3. Publish assets

    php artisan vendor:publish --tag=schedule-police-assets --force

Config

You may override the config by publishing it.

php artisan vendor:publish --tag=schedule-police-config

You may also just define environment variables if you don't need to publish the config.

  • Disable command execution in the dashboard.
SCHEDULE_POLICE_ALLOW_EXECUTE_CMD=false
  • Add prefix to routes.
SCHEDULE_POLICE_URL_PREFIX=your-prefix

Dashboard

After installation, you may access the dashboard via the /schedule-police route.

Authorization

By default, you will only be able to access this dashboard in the local environment. However, you may specify authorization for non-local environments by defining viewSchedulePolice gate, typically within the boot method of the App\Providers\AuthServiceProvider class.

public function boot(): void
{
    Gate::define('viewSchedulePolice', function (User $user) {
        // return true or false
    });
}

Screenshots

Events list page

events page

Execute page

execute page

License

The MIT License (MIT). Please see License File for more information.