Skip to content

Commit

Permalink
DDST-58: Added drush command for OAI rebuild
Browse files Browse the repository at this point in the history
  • Loading branch information
axelerant-hardik committed May 1, 2024
1 parent 65ed57e commit 9c3d3d6
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drush.services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,9 @@ services:
- '@logger.islandora_drush_utils'
tags:
- { name: drush.command }
islandora_drush_utils.rebuild_oai:
class: \Drupal\islandora_drush_utils\Commands\RebuildOaiEntries
arguments:
- '@queue'
tags:
- { name: drush.command }
62 changes: 62 additions & 0 deletions src/Commands/RebuildOaiEntries.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php

namespace Drupal\islandora_drush_utils\Commands;

use Drupal\Core\Queue\QueueFactory;
use Drush\Commands\DrushCommands;

/**
* RebuildOaiEntries commands.
*
* These commands rebuild the OAI entries and consume them.
*/
class RebuildOaiEntries extends DrushCommands {

/**
* The queue service.
*
* @var \Drupal\Core\Queue\QueueFactory
*/
protected $queue;

/**
* Set variables to used across commands.
*
* @param \Drupal\Core\Queue\QueueFactory $queue
* The queue service.
*/
public function __construct(QueueFactory $queue) {
$this->queue = $queue;
}

/**
* Rebuild OAI entries.
*
* @command islandora_drush_utils:rebuild-oai
* @aliases idr:roai
*/
public function rebuild() {
rest_oai_pmh_cache_views();

$operations = [];
$queue = $this->queue->get('rest_oai_pmh_views_cache_cron');
while ($item = $queue->claimItem()) {
$operations[] = [
'rest_oai_pmh_process_queue',
[$item],
];
}
$batch = [
'operations' => $operations,
'finished' => 'rest_oai_pmh_batch_finished',
'title' => 'Processing OAI rebuild',
'init_message' => 'OAI rebuild is starting.',
'progress_message' => 'Processed @current out of @total.',
'error_message' => 'OAI rebuild has encountered an error.',
];

batch_set($batch);
drush_backend_batch_process();
}

}

0 comments on commit 9c3d3d6

Please sign in to comment.