private function ActivitySendEmailWorker::prepareBatch in Open Social 10.0.x
Same name and namespace in other branches
- 10.3.x modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker::prepareBatch()
- 10.1.x modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker::prepareBatch()
- 10.2.x modules/custom/activity_send/modules/activity_send_email/src/Plugin/QueueWorker/ActivitySendEmailWorker.php \Drupal\activity_send_email\Plugin\QueueWorker\ActivitySendEmailWorker::prepareBatch()
Prepares the batch processing for this queue item.
Parameters
array $data: Array of batch data.
array $user_ids_per_language: Array of user IDs.
string|null $langcode: Language code.
1 call to ActivitySendEmailWorker::prepareBatch()
- ActivitySendEmailWorker::processItem in modules/
custom/ activity_send/ modules/ activity_send_email/ src/ Plugin/ QueueWorker/ ActivitySendEmailWorker.php - Works on a single queue item.
File
- modules/
custom/ activity_send/ modules/ activity_send_email/ src/ Plugin/ QueueWorker/ ActivitySendEmailWorker.php, line 299
Class
- ActivitySendEmailWorker
- An activity send email worker.
Namespace
Drupal\activity_send_email\Plugin\QueueWorkerCode
private function prepareBatch(array $data, array $user_ids_per_language, $langcode = NULL) {
// Split up by 50.
$batches = array_chunk($user_ids_per_language, 50);
// Create items for this queue again for further processing.
foreach ($batches as $key => $batch_recipients) {
// Create same queue item, but with IDs of just 50 users.
$batch_data = [
'entity_id' => $data['entity_id'],
'recipients' => $batch_recipients,
'langcode' => $langcode,
];
$queue = $this->queueFactory
->get('activity_send_email_worker');
$queue
->createItem($batch_data);
}
}