Öncelikle sorduğunuz sorudan ziyade verdiğiniz fikir için teşekkür ederim. Yanlış anlamadıysam şöyle bir işlem yapmam gerekiyor.
$users = User::all();
foreach($users as $key => $user):
//Get Mail Info
$mailInfo = [
'name' => $user->name,
'email' => $user->email,
'message_title' => 'Test Amaçlıdır',
'message_body' => 'Test amaçlıdır lütfen dikkate almayınız.'
];
//Send Mail
\Mail::later($key+1, 'emails.order',
array(
'name' => $user->name,
'email' => $user->email,
'messages' => $mailInfo['message_body'],
'title' => $mailInfo['message_title']
), function($message) use ($mailInfo){
$message->from('test@domain.com', $mailInfo['message_title']);
$message->to($mailInfo['email'], $mailInfo['name'])->subject($mailInfo['message_title']);
});
endforeach;
Şu şekil bir test yaptım ve $key+1 e göre sıradaki kişiye mail gönderdim. İşlem timeouta düşmeden gerçekleşti. Lakin halen daha kafama takılan bir soru var. Şuan ben bunu 75 kişiye göndererek denedim. 3000 kişiye mail gönderirken bu işlem işe yarayacak mı? Bana sanki queue oluştururken patlayacakmış hissiyatı veriyor şuanda.