prevplan/laravel-heartbeat-status

监控Laravel队列和定时任务状态


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这是一个简单的包,用于监控Laravel网站的队列心跳和定时任务。
它提供了一个带有状态和200或503 HTTP状态的路由,可以被像 upptime 这样的在线状态服务监控。

已测试于Laravel 9 + 10。

安装

您可以通过composer安装此包

composer require prevplan/laravel-heartbeat-status

标准URL是 yoursite.com/heartbeat。如果您想更改此URL,请在 routes/web.php 中添加以下内容:

Route::heartbeat_status('new-folder');

您可以选择使用以下命令发布配置文件:

php artisan vendor:publish --tag="laravel-heartbeat-status-config"

这是已发布配置文件的内容

return [
    /*
    |--------------------------------------------------------------------------
    | Heartbeat Interval Time
    |--------------------------------------------------------------------------
    |
    | Time in minutes between queued heartbeatStatusCommand jobs.
    |
    */
    'heart-rate' => env('HEARTBEAT_HEART_RATE', 2),

    /*
    |--------------------------------------------------------------------------
    | Heartbeat Emergency Time
    |--------------------------------------------------------------------------
    |
    | Time in minutes to report failure/change to status 503, if the
    | last heartbeatStatusCommand is older than this value
    |
    */
    'emergency_time' => env('HEARTBEAT_EMERGENCY', 5),

    /*
    |--------------------------------------------------------------------------
    | Schedule Leeway
    |--------------------------------------------------------------------------
    |
    | Time for schedule running tolerance in seconds
    |
    */
    'schedule_leeway' => env('HEARTBEAT_SCHEDULE_LEEWAY', 10),

    /*
    |--------------------------------------------------------------------------
    | Queue Leeway
    |--------------------------------------------------------------------------
    |
    | Time for queue running tolerance in seconds
    |
    */
    'queue_leeway' => env('HEARTBEAT_QUEUE_LEEWAY', 20),
];

您还可以选择使用以下命令发布视图:

php artisan vendor:publish --tag="laravel-heartbeat-status-views"

使用方法

状态页面自动发布在您的网站 /heartbeat 或其他您更改的URL。
它会检查定时任务和队列的最后运行状态。

如果一切正常,它将响应200 HTTP状态。如果存在问题,将显示503 HTTP状态。
您可以使用upptime或其他您选择的在线状态服务监控此心跳页面。

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请参阅 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

MIT许可证(MIT)。请参阅 许可证文件 了解更多详细信息。