Exemple #1
0
 public function execute(ExecutionContext $execution)
 {
     $property = $execution->getJobOption('property');
     $data = $execution->read();
     if (null !== $property) {
         $accessor = PropertyAccess::createPropertyAccessor();
     }
     foreach ($data as $k => $result) {
         $context = $this->createContext($execution, $result->getMetadata());
         $data = $result->getValue();
         if (null !== $property) {
             $data = $accessor->getValue($data, $property);
         }
         $this->load($data, $context);
     }
     if (count($data) > 0) {
         $context = $this->createContext($execution, $result->getMetadata());
         $this->flush($context);
         $this->clear($context);
     }
     if (false === $execution->getJobOption('requeue')) {
         // If a loader don't requeue message, the next job step will need the original data
         $execution->rewindData();
     }
 }
Exemple #2
0
 public function slice(ExecutionContext $execution, $metadata)
 {
     $offset = $execution->getOffset();
     $limit = $execution->getLimit();
     if (method_exists($this->processor, 'slice')) {
         return $this->processor->slice($offset, $limit);
     }
     $this->seek($offset);
     $data = [];
     for ($i = 0; $i < $limit && $this->valid(); $i++) {
         $data[] = $this->extract($this->createContext($execution, $metadata));
     }
     return $data;
 }
Exemple #3
0
 public function execute(ExecutionContext $execution)
 {
     $data = $execution->read();
     $this->debug(count($data) . ' rows');
     foreach ($data as $k => $result) {
         $value = $result->getValue();
         $metadata = $result->getMetadata();
         $context = $this->createContext($execution, $metadata);
         $transformedData = $this->transform($value, $context);
         if (is_array($transformedData)) {
             foreach ($transformedData as $d) {
                 $this->writeData($value, $metadata, $execution, $d);
             }
         } else {
             $this->writeData($value, $metadata, $execution, $transformedData);
         }
     }
     $execution->valid();
 }
Exemple #4
0
 public function execute(ExecutionContext $execution, JobMessageFactory $factory)
 {
     return $execution->execute($this->context, $this->payload, $factory);
 }