You are here

public function SimpleSitemapViews::executeGarbageCollection in Simple XML sitemap 4.x

Same name and namespace in other branches
  1. 8.3 modules/simple_sitemap_views/src/SimpleSitemapViews.php \Drupal\simple_sitemap_views\SimpleSitemapViews::executeGarbageCollection()

Creates tasks in the garbage collection queue.

File

modules/simple_sitemap_views/src/SimpleSitemapViews.php, line 537

Class

SimpleSitemapViews
Class to manage sitemap data for views.

Namespace

Drupal\simple_sitemap_views

Code

public function executeGarbageCollection() {

  // The task queue of garbage collection in the arguments index.
  $queue = $this->queueFactory
    ->get('simple_sitemap.views.garbage_collector');

  // Check that the queue is empty.
  if ($queue
    ->numberOfItems()) {
    return;
  }

  // Get identifiers of indexed views.
  $query = $this->database
    ->select('simple_sitemap_views', 'ssv');
  $query
    ->addField('ssv', 'view_id');
  $query
    ->distinct();
  $result = $query
    ->execute()
    ->fetchCol();

  // Create a garbage collection tasks.
  foreach ($result as $view_id) {
    $queue
      ->createItem([
      'view_id' => $view_id,
    ]);
  }
}