You are here

public function DeployProcessorQueue::deploy in Deploy - Content Staging 7.3

Same name and namespace in other branches
  1. 7.2 plugins/DeployProcessorQueue.inc \DeployProcessorQueue::deploy()

Main processing method that should hand over the aggregator to the endpoint to deploy all the entities.

Parameters

integer $deployment_key: The unique deployment key for this deployment.

DeployEndpoint $endpoint: The endpoint object to hand over the aggregator to.

string $lock_name: Optional name of the lock that this deployment is working under.

Overrides DeployProcessorMemory::deploy

File

plugins/DeployProcessorQueue.inc, line 15
Queue API plugin for deploy Processor.

Class

DeployProcessorQueue
Processor class using the Queue API

Code

public function deploy($deployment_key, DeployEndpoint $endpoint, $lock_name = NULL) {
  deploy_log($deployment_key, DEPLOY_STATUS_PROCESSING);
  $queue = DrupalQueue::get('deploy_deploy');
  foreach ($this->aggregator as $entity) {

    // We don't want entities that has a cause, i.e. not dependencies, because
    // those'll be taken care of when the service iterates over the queue.
    if (empty($entity->__metadata['cause'])) {
      $entity_info = entity_get_info($entity->__metadata['type']);
      $id_key = $entity_info['entity keys']['id'];
      $entity->__metadata['id'] = $entity->{$id_key};
      $entity->__metadata['deployment_key'] = $deployment_key;
      $entity->__metadata['plan_name'] = $this->aggregator->plan->name;
      $entity->__metadata['endpoint_name'] = $endpoint->name;
      $entity->__metadata['lock_name'] = $lock_name;
      $queue
        ->createItem($entity);
    }
  }
}