136 - Refactoring for Robustness

This commit is contained in:
Adam Wathan
2017-08-22 15:24:42 -04:00
parent d27fb532d0
commit f0823c77e3
2 changed files with 13 additions and 4 deletions

View File

@@ -13,8 +13,15 @@ class AttendeeMessage extends Model
return $this->belongsTo(Concert::class);
}
public function recipients()
public function orders()
{
return $this->concert->orders()->pluck('email');
return $this->concert->orders();
}
public function withChunkedRecipients($chunkSize, $callback)
{
$this->orders()->chunk($chunkSize, function ($orders) use ($callback) {
$callback($orders->pluck('email'));
});
}
}

View File

@@ -33,8 +33,10 @@ class SendAttendeeMessage implements ShouldQueue
*/
public function handle()
{
$this->attendeeMessage->recipients()->each(function ($recipient) {
Mail::to($recipient)->send(new AttendeeMessageEmail($this->attendeeMessage));
$this->attendeeMessage->withChunkedRecipients(20, function ($recipients) {
$recipients->each(function ($recipient) {
Mail::to($recipient)->queue(new AttendeeMessageEmail($this->attendeeMessage));
});
});
}
}