In some cases, we want to perform some action when job has failed. For example, send an email or a notification.
For this purpose, we can use failed() method in the job class, just like the handle() method:
namespace App\Jobs\Invoice;use Illuminate\Bus\Batchable;use Illuminate\Bus\Queueable;use Illuminate\Queue\SerializesModels;use Illuminate\Queue\InteractsWithQueue;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Foundation\Bus\Dispatchable;use Throwable; class CalculateSingleConsignment implements ShouldQueue{ use Batchable, Dispatchable, InteractsWithQueue, Queueable, SerializesModels; // ... __construct() method, handle() method, etc. public function failed(Throwable $exception) { // Perform any action here when job has failed }}
Tip given by @pauloimon
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
[NEW] Building a Typical Laravel SaaS
13 lessons
1 h 58 min
PhpStorm Junie AI for Laravel Projects: Crash Course
7 lessons
36 min
Laravel HTTP Client and 3rd-Party APIs
7 lessons
50 min