function mailchimp_cron in Mailchimp 2.x
Same name and namespace in other branches
- 8 mailchimp.module \mailchimp_cron()
- 5.2 mailchimp.module \mailchimp_cron()
- 5 mailchimp.module \mailchimp_cron()
- 6.2 mailchimp.module \mailchimp_cron()
- 6 mailchimp.module \mailchimp_cron()
- 7.5 mailchimp.module \mailchimp_cron()
- 7 mailchimp.module \mailchimp_cron()
- 7.3 mailchimp.module \mailchimp_cron()
- 7.4 mailchimp.module \mailchimp_cron()
Implements hook_cron().
Processes queued Mailchimp actions.
1 call to mailchimp_cron()
- MailchimpCommands::cron in src/
Commands/ MailchimpCommands.php - This command will trigger Mailchimp Cron jobs.
File
- ./
mailchimp.module, line 1371 - Mailchimp module.
Code
function mailchimp_cron($batch_limit = NULL) {
$queue = \Drupal::queue(MAILCHIMP_QUEUE_CRON);
$queue
->createQueue();
$queue_count = $queue
->numberOfItems();
if ($queue_count > 0) {
$config = \Drupal::config('mailchimp.settings');
if (is_null($batch_limit)) {
$batch_limit = $config
->get('batch_limit');
}
$batch_size = $queue_count < $batch_limit ? $queue_count : $batch_limit;
$count = 0;
while ($count < $batch_size) {
if ($item = $queue
->claimItem()) {
call_user_func_array($item->data['function'], $item->data['args']);
$queue
->deleteItem($item);
}
$count++;
}
}
return isset($batch_size) ? $batch_size : $queue_count;
}