Paket ini mengirimkan pemberitahuan jika pekerjaan yang diantri gagal. Di luar kotak, ia dapat mengirim pemberitahuan melalui surat dan/atau Slack. Ini memanfaatkan sistem notifikasi asli Laravel.
Kami menginvestasikan banyak sumber daya untuk menciptakan paket sumber terbuka terbaik di kelasnya. Anda dapat mendukung kami dengan membeli salah satu produk berbayar kami.
Kami sangat menghargai Anda mengirimi kami kartu pos dari kota asal Anda, yang menyebutkan paket kami mana yang Anda gunakan. Anda akan menemukan alamat kami di halaman kontak kami. Kami mempublikasikan semua kartu pos yang diterima di dinding kartu pos virtual kami.
Untuk Laravel versi 5.8 dan 6.x, gunakan v3.x dari paket ini.
Anda dapat menginstal paket melalui composer:
composer require spatie/laravel-failed-job-monitor
Jika Anda ingin menggunakan notifikasi Slack, Anda juga harus menginstal klien guzzle:
composer require guzzlehttp/guzzle
Penyedia layanan secara otomatis akan terdaftar.
Selanjutnya, Anda harus mempublikasikan file konfigurasi:
php artisan vendor:publish --tag=failed-job-monitor-config
Ini adalah isi file konfigurasi default. Di sini Anda dapat menentukan penerima notifikasi yang harus dikirimi notifikasi. Notifikasi default akan menggunakan variabel yang ditentukan dalam file konfigurasi ini.
return [
/ * *
* The notification that will be sent when a job fails .
* /
' notification ' => Spatie FailedJobMonitor 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 ' => Spatie FailedJobMonitor 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 ' => null ,
/ * *
* The channels to which the notification will be sent .
* /
' channels ' => [ ' mail ' , ' slack ' ],
' mail ' => [
' to ' => [ ' [email protected] ' ],
],
' slack ' => [
' webhook_url ' => env ( ' FAILED_JOB_SLACK_WEBHOOK_URL ' ),
],
];
Kelas notifikasi default yang disediakan oleh paket ini memiliki dukungan untuk mail dan Slack.
Jika Anda ingin menyesuaikan notifikasi, Anda dapat menentukan kelas notifikasi Anda sendiri di file konfigurasi.
// config / failed - job - monitor . php
return [
...
' notification ' => App Notifications CustomNotificationForFailedJobMonitor::class,
...
Kelas default yang dapat diberitahukan yang disediakan oleh paket ini menggunakan tombol channels
, mail
, dan slack
dari file config
untuk menentukan bagaimana notifikasi harus dikirim
Jika Anda ingin menyesuaikan notifikasi, Anda dapat menentukan kelas notifikasi Anda sendiri di file konfigurasi.
// config / failed - job - monitor . php
return [
' notifiable ' => App CustomNotifiableForFailedJobMonitor::class,
...
Untuk memfilter notifikasi, berikan penutupan ke notificationFilter
.
// config / failed - job - monitor . php
return [
...
' notificationFilter ' => function ( Spatie FailedJobMonitor Notification $ notification ): bool
{
return true ;
}
. . .
Cara di atas hanya berfungsi jika Laravel tidak mendukung serialisasi penutupan. Dengan demikian Anda akan mendapatkan kesalahan berikut ketika Anda menjalankan php artisan config:cache
LogicException : Your configuration files are not serializable.
Oleh karena itu akan lebih baik untuk membuat kelas terpisah dan menggunakan callable sebagai panggilan balik.
<?php
namespace App Notifications ;
use Spatie FailedJobMonitor Notification ;
class FailedJobNotification
{
public static function notificationFilter ( Notification $ notification ): bool
{
return true ;
}
}
Dan referensikan di file konfigurasi.
// config / failed - job - monitor . php
return [
...
' notificationFilter ' => [ App Notifications FailedJobNotification::class, ' notificationFilter ' ],
...
Jika Anda mengkonfigurasi paket dengan benar, Anda sudah selesai. Anda akan menerima pemberitahuan ketika pekerjaan yang diantrekan gagal.
Silakan lihat CHANGELOG untuk informasi lebih lanjut tentang apa yang berubah baru-baru ini.
composer test
Silakan lihat KONTRIBUSI untuk rinciannya.
Jika Anda menemukan bug terkait keamanan, silakan kirim email ke [email protected] alih-alih menggunakan pelacak masalah.
Terima kasih sebesar-besarnya kepada Egor Talantsev atas bantuannya dalam membuat paket v2
.
Lisensi MIT (MIT). Silakan lihat File Lisensi untuk informasi lebih lanjut.