public function __construct(ConnectorRegistry $jobRegistry, BatchJobRepository $batchJobRepository, ContextRegistry $contextRegistry, ManagerRegistry $managerRegistry) { $this->batchJobRegistry = $jobRegistry; $this->batchJobManager = $batchJobRepository->getJobManager(); $this->contextRegistry = $contextRegistry; $this->entityManager = $managerRegistry->getManager(); $this->managerRegistry = $managerRegistry; }
/** * {@inheritdoc} */ public function updateStepExecution(StepExecution $stepExecution) { $jobExecution = $stepExecution->getJobExecution(); if ($jobExecution) { $this->updateJobExecution($jobExecution); } parent::updateStepExecution($stepExecution); }
/** * Create JobExecution instance. * * @param array $configuration * @param JobInstance $jobInstance * @return JobExecution */ protected function createJobExecution(array $configuration, JobInstance $jobInstance) { $jobExecution = $this->batchJobRepository->createJobExecution($jobInstance); // load configuration to context if ($configuration) { foreach ($configuration as $typeConfiguration) { if (!is_array($typeConfiguration)) { continue; } foreach ($typeConfiguration as $name => $option) { $jobExecution->getExecutionContext()->put($name, $option); } } } return $jobExecution; }
/** * @param WriterAfterFlushEvent $event */ public function onWriterAfterFlush(WriterAfterFlushEvent $event) { // keep alive connection for really long integration processes $dql = 'SELECT e.id FROM AkeneoBatchBundle:JobExecution e WHERE e.id = 1'; $this->batchJobRepository->getJobManager()->createQuery($dql)->execute(); }