cronpulse / laravel-monitor
该包最新版本(v1.0.0)没有提供许可证信息。
使用 Cronpulse.live 的 Laravel 任务监控库
v1.0.0
2024-08-10 11:45 UTC
Requires
- php: ^8.0
- illuminate/support: ^9.0|^10.0|^11.0
README
Cronpulse Laravel Monitor 是一个用于 Laravel 应用的监控库,允许您轻松发送心跳、开始/停止作业心跳,并包装作业以进行监控。这有助于确保您的计划任务按预期运行,并提供对作业失败或成功的洞察。
安装
要安装此包,将其添加到 Laravel 项目的 composer.json
文件中,然后运行 composer update
composer require cronpulse/laravel-monitor
配置
安装后,发布配置文件
php artisan vendor:publish --provider="Cronpulse\\LaravelMonitor\\MonitorServiceProvider"
将作业密钥添加到您的 .env
文件中
MONITOR_JOB_KEY=your-real-job-key
此作业密钥对于通过 cronpulse 认证您的心跳至关重要。
用法
基本监控
您可以使用 Monitor
类手动向 cronpulse 发送心跳。这可以用于发送有关计划作业的状态更新。
启动作业
要监控作业
use Cronpulse\LaravelMonitor\Monitor; $monitor = new Monitor(); $monitor->ping('start');
标记作业为成功
作业成功完成后
$monitor->ping('success');
标记作业为失败
如果作业遇到错误并失败
$dynamicError = 'This is a dynamic error message'; $monitor->ping(['state' => 'fail', 'message' => $dynamicError]);
发送心跳
您还可以发送心跳以监控任务的常规执行
$monitor->ping('beat');
包装作业
wrap
函数提供了一种方便的方式来监控作业的开始和完成,包括错误处理。
成功作业示例
包装一个应该成功完成的作业函数
use function Cronpulse\LaravelMonitor\wrap; wrap('your-job-key', function() { // Your job logic here return true; });
失败作业示例
包装可能失败的作业函数
wrap('your-job-key', function() { // Simulate job failure throw new \Exception('Something went wrong'); });
wrap
函数将自动处理作业的开始、成功或失败发送心跳。
测试
该库包括测试以确保其功能。您可以使用 Laravel 的测试运行器运行测试
php artisan test
确保您的 .env
文件包含正确的 MONITOR_JOB_KEY
,以便测试运行器针对您的监控服务运行。