tkachikov / chronos
Laravel 调度设置命令
1.2.4
2024-07-25 09:30 UTC
Requires
- php: ^8.1
- tkachikov/laravel-withtrashed: ^1.0
- tkachikov/memory: ^1.2
README
此包用于设置调度命令。
即将支持
我们很高兴地宣布,即将推出对 Laravel 11 的支持!
请保持关注更新,并确保关注此存储库以获取最新信息。
此包用于设置调度命令。
安装
使用以下命令使用 Composer 安装此包:
composer require tkachikov/chronos
运行 Chronos 安装命令
php artisan chronos:install
在 app/Console/Kernel.php
中添加了 Chronos 调度器
// ... use Tkachikov\Chronos\Services\ScheduleService; // ... class Kernel extends ConsoleKernel { // ... protected function schedule(Schedule $schedule): void { app(ScheduleService::class)->schedule($schedule); } // ... }
授权
默认页面对所有用户开放,并且无需通过 auth 中间件。
要为认证用户开放设置页面,请在配置 chronos.php
中的 'auth' 中间件取消注释。
return [ 'domain' => env('CHRONOS_DOMAIN'), 'middlewares' => [ 'web', 'auth', // 'Tkachikov\Chronos\Http\Middleware\Authorize', ], ];
在生产环境中,取消注释配置 chronos.php
中的 Chronos auth 并在 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'); }); } }
用法
访问路由 /chronos
,例如: localhost:8000/chronos
测试
运行属性
如果您需要从 Chronos 控制台(notRunInManual
)或计划(notRunInSchedule
)中关闭运行命令,请设置属性
例如,全部关闭
// ... #[notRunInManual] #[notRunInSchedule] class TestCommand extends Command { // ... }
日志和状态
要记录命令消息并设置状态,请添加 trait ChronosRunnerTrait
// ... class TestCommand extends Command { use ChronosRunnerTrait; // ... }
创建计划
统计信息
要计算统计信息,必须为 chronos:update-metrics
创建计划
许可证
此软件包是开源软件,采用 MIT 许可证。