Performance: Creating jobs
MEDIUM IMPACT
This affects how background tasks are handled, impacting page responsiveness and server load during user interactions.
<?php
// Controller method
public function sendEmail(Request $request) {
SendEmailJob::dispatch($request->user());
return response()->json(['status' => 'Email queued']);
}
// Job class
use IlluminateContractsQueueShouldQueue;
class SendEmailJob implements ShouldQueue {
protected User $user;
public function __construct(User $user) {
$this->user = $user;
}
public function handle() {
Mail::to($this->user)->send(new WelcomeEmail());
}
}<?php
// Controller method
public function sendEmail(Request $request) {
Mail::to($request->user())->send(new WelcomeEmail());
return response()->json(['status' => 'Email sent']);
}| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Synchronous heavy task in controller | Minimal | 0 | 0 | [X] Bad |
| Queued job for heavy task | Minimal | 0 | 0 | [OK] Good |