You are here

function drush_search_api_grouping_process_permutation_queue in Search API Grouping 7.2

Processes queue items.

1 call to drush_search_api_grouping_process_permutation_queue()
drush_search_api_grouping_generate in ./search_api_grouping.drush.inc
Generate the permutations of the denormalized entities.

File

./search_api_grouping.drush.inc, line 125
Drush commands for search api denormalized entity

Code

function drush_search_api_grouping_process_permutation_queue($timeout = NULL) {
  $end = time() + (!empty($timeout) ? $timeout : 15);
  $queue = DrupalQueue::get('search_api_grouping_generate_permuatations');
  drush_log(dt('The queue has currently !number items. Processing will !running.', array(
    '!number' => $queue
      ->numberOfItems(),
    '!running' => !empty($timeout) ? dt('run for the next !timeout seconds', array(
      '!timeout' => $timeout,
    )) : t('process all items possible'),
  )), 'ok');
  $count = 0;
  while ((time() < $end || $timeout == 0) && ($item = $queue
    ->claimItem())) {
    search_api_grouping_generate_permuatations($item->data);
    $queue
      ->deleteItem($item);
    $count++;
    drush_log(dt('Processed item id !id.', array(
      '!id' => $item->item_id,
    )), 'ok');
  }
  drush_log(dt('Items processed !processed left items !left.', array(
    '!processed' => $count,
    '!left' => $queue
      ->numberOfItems(),
  )), 'ok');
}