tkachikov/chronos

Laravel 调度设置命令

1.2.4 2024-07-25 09:30 UTC

This package is auto-updated.

Last update: 2024-09-27 12:51:47 UTC


README

Logo

Packagist Version PHP from Packagist Laravel 11.x Laravel 10.x Laravel 9.x License: MIT

GitHub stars GitHub issues GitHub last commit

此包用于设置调度命令。

即将支持

我们很高兴地宣布,即将推出对 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:test 命令: 打开测试

运行 chronos:test 命令: 运行测试

运行属性

如果您需要从 Chronos 控制台(notRunInManual)或计划(notRunInSchedule)中关闭运行命令,请设置属性
例如,全部关闭

// ...
#[notRunInManual]
#[notRunInSchedule]
class TestCommand extends Command
{
    // ...
}

日志和状态

要记录命令消息并设置状态,请添加 trait ChronosRunnerTrait

// ...
class TestCommand extends Command
{
    use ChronosRunnerTrait;
    // ...
}

创建计划

打开您的命令,在“创建计划”中设置其参数并保存。创建计划

要关闭命令,点击编辑按钮,选中关闭 运行 并保存:关闭计划

统计信息

要计算统计信息,必须为 chronos:update-metrics 创建计划

许可证

此软件包是开源软件,采用 MIT 许可证