Laravel queue jobs do baar run ho rahi hain (jobs running twice), retry_after ka kya chakkar hai?
Aadab sab ko. School management software mein ek job hai jo ek school ke saare students ki fee receipt PDF banake parents ko email karti hai. Masla ye hai ki kabhi kabhi job do baar chal jaati hai, parents ko do emails jaate hain, aur principal sahab naraz hain.
Setup: Laravel 11, PHP 8.3, QUEUE_CONNECTION=redis, worker: php artisan queue:work --tries=3
class SendFeeReceipts implements ShouldQueue
{
use Queueable;
public function __construct(public int $schoolId) {}
public function handle(): void
{
Student::where('school_id', $this->schoolId)
->each(function (Student $s) {
Mail::to($s->parent_email)->send(new FeeReceipt($s));
});
}
}
Job mein koi exception nahi aati. Log mein dikhta hai ki same job ID do workers ne utha li, doosre ne lagbhag 90 second baad. Bade school mein (500 students) job 2-3 minute leti hai. Kya ye retry_after wala masla hai? Maazrat agar sawaal basic hai.
Bug ne kaha ek baar chalo, job ne do baar suna,
humne log khole to dekha, worker bhi tha deewana 🙂
Accepted answer
Get the best of #php_still_pays weekly
One email each Monday with the most useful posts. No spam; unsubscribe in one click.
Comments
Sign in to join the conversation.
Sign in to commentAccepted answer