You are here

function hosting_drush_command in Hosting 6.2

Same name and namespace in other branches
  1. 5 hosting.drush.inc \hosting_drush_command()
  2. 7.4 hosting.drush.inc \hosting_drush_command()
  3. 7.3 hosting.drush.inc \hosting_drush_command()

Implementation of hook_drush_command().

File

./hosting.drush.inc, line 11
Drush include for the Hosting module.

Code

function hosting_drush_command() {
  $items['hosting-dispatch'] = array(
    'description' => dt('Centralized command for dispatching the various queue processors (hosting, cron, backup etc.)'),
    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
  );
  $items['hosting-setup'] = array(
    'description' => dt('Set up initial configuration settings such as the cron entry for the queue dispatcher and more.'),
  );

  // If we're trying to get help, then try to bootstrap as much as possible.
  $current_command = drush_get_command();
  if (isset($current_command['command']) && $current_command['command'] == 'help') {
    drush_bootstrap_max();
  }

  // If we've not bootstrapped fully, then this function may not be around.
  if (function_exists('hosting_get_queues')) {
    $queues = hosting_get_queues();
    foreach ($queues as $queue => $info) {
      $dispatch = dt("Dispatched: @items items every @frequency minutes", array(
        '@items' => $info['items'],
        '@frequency' => round($info['frequency'] / 60),
      ));
      $items['hosting-' . $queue] = array(
        'callback' => 'hosting_run_queue',
        'description' => $info['description'] . " " . $dispatch,
        'queue' => $queue,
      );
    }
  }
  $items['hosting-task'] = array(
    'description' => 'execute a specific queue item',
    'arguments' => array(
      '@context_name' => 'Context to work on',
      'command' => 'provision-[command] to invoke',
    ),
    'options' => array(
      'force' => "Force the specified task to execute even if it's not queued to run.",
    ),
    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
  );
  $items['hosting-import'] = array(
    'description' => 'Import an existing backend context name into the front end.',
    'arguments' => array(
      '@context_name' => 'Context to import',
    ),
    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
  );
  $items['hosting-pause'] = array(
    'description' => dt('Prepare the hostmaster site to be migrated to a new platform.'),
    'arguments' => array(
      'example.com' => dt('The url of the site being migrated.'),
    ),
  );

  /**
   * stub resume command
   *
   * @deprecated will just call hosting-resume, use hosting-resume
   * now, will be removed after 1.0
   */
  $items['hostmaster-resume'] = array(
    'description' => dt('Complete the migration of the hostmaster site to a new platform.'),
    'arguments' => array(
      'example.com' => dt('The url of the site being migrated.'),
    ),
    'options' => array(
      'old_platform_name' => dt('The old platform name'),
      'new_platform_name' => dt('The new platform name'),
    ),
  );
  $items['hosting-resume'] = array(
    'description' => dt('Complete the migration of the hostmaster site to a new platform.'),
    'arguments' => array(
      'example.com' => dt('The url of the site being migrated.'),
    ),
    'options' => array(
      'old_platform_name' => dt('The old platform name'),
      'new_platform_name' => dt('The new platform name'),
    ),
  );
  return $items;
}