olssonm/horizon-status

用于程序化检查 Laravel Horizon 实例状态的实用工具

v1.2 2024-03-24 15:18 UTC

This package is auto-updated.

Last update: 2024-09-24 16:26:34 UTC


README

Latest Version on Packagist Build Status Software License

Laravel Horizon 状态检查器

一个简单的实用工具,用于程序化地检查您的 Laravel Horizon 实例的当前状态。

为什么?

为什么要在 Artisan 命令 horizon:status 可用的前提下使用这个包?因为有时需要程序化地检查状态。例如,如果您想通过计划任务确保您的 Horizon 实例正在运行,并且不想解析字符串等。

// app/Console/Commands/HorizonIsRunning.php
use Olssonm\HorizonStatus\Facade\HorizonStatus;

public function __handle() {
    if(!HorizonStatus::isActive()) {
        // Notify admin (not via the Horizon-queue of course...)
    }
}

// app/Console/Kernel.php
protected function schedule(Schedule $schedule) {
    $schedule->command('horizon:is-running')->everyFiveMinutes();
}

或者您可能希望在 blade 模板中直接显示一个状态图标。

@if(HorizonStatus::isActive())
    <div class="success">Horizon is running</div>
@else
    <div class="warning">Horizon is down</div>
@endif

安装

composer require olssonm/horizon-status

注意 – 此包要求 Laravel Horizon 在 Laravel 8 或 9 上运行。

用法

此包提供了四种方法。

status

返回三种可用状态之一:activeinactivepaused

use Olssonm\HorizonStatus\Facade\HorizonStatus;

HorizonStatus::status();
// active

isActive

返回 truefalse,表示状态是否为 active

use Olssonm\HorizonStatus\Facade\HorizonStatus;

HorizonStatus::isActive();
// true

isInactive

返回 truefalse,表示状态是否为 inactive

use Olssonm\HorizonStatus\Facade\HorizonStatus;

HorizonStatus::isInactive();
// false

isPaused

返回 truefalse,表示状态是否为 paused

use Olssonm\HorizonStatus\Facade\HorizonStatus;

HorizonStatus::isPaused();
// false

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 LICENSE.md

© 2022 Marcus Olsson