Performance: Creating listeners
MEDIUM IMPACT
This affects how quickly your Laravel app responds to events and how much server resources are used during event handling.
<?php
namespace App\Listeners;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Mail;
class SendWelcomeEmail implements ShouldQueue {
public function handle($event) {
Mail::to($event->user->email)->send(new WelcomeEmail());
}
}<?php
namespace App\Listeners;
use Illuminate\Support\Facades\Mail;
class SendWelcomeEmail {
public function handle($event) {
// Sending email synchronously
Mail::to($event->user->email)->send(new WelcomeEmail());
}
}| Pattern | Server Blocking | Queue Usage | Response Time Impact | Verdict |
|---|---|---|---|---|
| Synchronous Listener | Blocks request until done | No | Increases response time | [X] Bad |
| Queued Listener (ShouldQueue) | Non-blocking | Yes | Minimal impact on response | [OK] Good |