Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function signal(Execution $execution, $signal, array $variables = [], array $delegation = [])
 {
     foreach ($variables as $k => $v) {
         $execution->setVariable($k, $v);
     }
     if ($signal === NULL) {
         return $execution->takeAll(NULL, [$execution]);
     }
     return $execution->take($signal);
 }
Exemplo n.º 2
0
 public function signal(Execution $execution, $signal, array $variables = [], array $delegation = [])
 {
     $sub = $execution->getEngine()->findExecution($delegation['executionId']);
     if (!$sub instanceof Execution) {
         throw new \RuntimeException('Missing reference to nested execution');
     }
     foreach ($this->outputs as $target => $source) {
         if ($sub->hasVariable($source)) {
             $execution->setVariable($target, $sub->getVariable($source));
         }
     }
     $execution->takeAll(NULL, [$execution]);
 }