etsvthor/telegram-failed-job-monitor
最新稳定版本:0.3.0
Composer 安装命令:
composer require etsvthor/telegram-failed-job-monitor
包简介
Failed job monitor which sends Telegram notifications on job failure
README 文档
README
Extension to spatie/laravel-failed-job-monitor to add support for Telegram notifications and add a rate-limiter to not get spammed in case certain jobs run regularly.
See spatie/laravel-failed-job-monitor and laravel-notification-channels/telegram for more information.
Installation
You can install the package via composer:
composer require etsvthor/telegram-failed-job-monitor
You must publish the config file:
php artisan vendor:publish --tag=telegram-failed-job-monitor
This is the contents of the published config file. This overwrites the config of spatie/laravel-failed-job-monitor. By default, the notificationFilter is used to create the rate-limit:
return [ /* * The notification that will be sent when a job fails. */ 'notification' => EtsvThor\TelegramFailedJobMonitor\Notification::class, /* * The notifiable to which the notification will be sent. The default * notifiable will use the mail and slack configuration specified * in this config file. */ 'notifiable' => EtsvThor\TelegramFailedJobMonitor\Notifiable::class, /* * By default notifications are sent for all failures. You can pass a callable to filter * out certain notifications. The given callable will receive the notification. If the callable * return false, the notification will not be sent. */ 'notificationFilter' => [EtsvThor\TelegramFailedJobMonitor\Notification::class, 'notificationFilter'], /* * The channels to which the notification will be sent. */ 'channels' => ['telegram'], /** * How many seconds each failed job will trigger a notification. By default, it does not rate-limit. */ 'default-rate-limit' => env('FAILED_JOB_DEFAULT_RATELIMIT'), /** * How many seconds at minimum between notifications for this job. If nothing is specified, the default-rate-limit * will be used. */ 'rate-limit' => [ // App\Jobs\MyJob:class => '3600', ], 'mail' => [ 'to' => ['email@example.com'], ], 'slack' => [ 'webhook_url' => env('FAILED_JOB_SLACK_WEBHOOK_URL'), ], ];
Telegram bot
Talk to @BotFather and generate a Bot API Token.
Then add your newly created bot to the Telegram chat where you want notifications to be send.
Get your chat_id by running curl https://api.telegram.org/bot<your_token>/getUpdates and retrieving the chat_id
from the output.
Then, configure your Telegram Bot API Token:
# config/services.php 'telegram-bot-api' => [ 'token' => env('TELEGRAM_BOT_TOKEN'), 'chat_id' => env('TELEGRAM_CHAT_ID'), ],
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 1.75k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-01-08