tkachikov / chronos
Settings commands for Laravel Scheduling
Installs: 2 673
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 2
Forks: 1
Open Issues: 0
pkg:composer/tkachikov/chronos
Requires
- php: ^8.2
- tkachikov/laravel-withtrashed: ^1.0
- tkachikov/memory: ^1.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.90
- infection/infection: ^0.31.9
- laravel/framework: ^12.10
- orchestra/testbench: ^10.2
- phpunit/phpunit: ^11.0
- vimeo/psalm: ^6.13
- dev-master
- 1.8.x-dev
- 1.8.4
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.x-dev
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.x-dev
- 1.6.6
- 1.6.5
- 1.6.4
- 1.6.3
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.0
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.9
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- dev-dev
This package is auto-updated.
Last update: 2025-12-01 13:27:13 UTC
README
This package for setting commands in schedule.
Installation
Require this package with composer using the following command
composer require tkachikov/chronos
Run Chronos command for install:
php artisan chronos:install
Authorization
In defaults pages open for all users and also without auth middleware.
For open setting pages for authenticated users need uncommented 'auth' middleware in config chronos.php:
return [ 'domain' => env('CHRONOS_DOMAIN'), 'middlewares' => [ 'web', 'auth', // 'Tkachikov\Chronos\Http\Middleware\Authorize', ], ];
For authorization in production uncommented Chronos auth in config chronos.php and set statements in app/Providers/ChronosServiceProvider:
return [ 'domain' => env('CHRONOS_DOMAIN'), 'middlewares' => [ 'web', 'auth', 'Tkachikov\Chronos\Http\Middleware\Authorize', ], ];
// ... class ChronosServiceProvider extends ChronosApplicationServiceProvider { // ... protected function gate(): void { Gate::define('viewChronos', function ($user) { return $user->hasRole('admin'); }); } }
Usage
Visit route /chronos, example: localhost:8000/chronos
For testing
Run chronos:test command from queue and reload page:

Run chronos:test command in real time. Out messages pushing in custom terminal:

Run attributes
If you need off run command from Chronos dashboard (notRunInManual) or schedules (notRunInSchedule) set in ChronosCommand attribute:
// ... use Tkachikov\Chronos\Attributes\ChronosCommand; #[ChronosCommand( notRunInManual: false, notRunInSchedule: true, )] class TestCommand extends Command { // ... }
Logging and states
For logging command messages and set status added trait ChronosRunnerTrait:
// ... class TestCommand extends Command { use ChronosRunnerTrait; // ... }
Create schedules
Open your command and set params for it in Create schedule and save.

For off command click button edit, check to off Run and save:

Group name
In default base class name directory for group name.
You must be setting property group in ChronosCommand attribute. Example:
// ... use Tkachikov\Chronos\Attributes\ChronosCommand; #[ChronosCommand( group: 'MyGroup', )] class TestCommand extends Command { // ... }
Statistics
For calculate statistics run commands you must create schedule for chronos:update-metrics
License
This package is open-sourced software licensed under the MIT license.

