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();
     }
 }