entityManager->wrapInTransaction(function () use ($exportGeneration) { $object = $exportGeneration->getStoredObject(); $this->entityManager->refresh($exportGeneration, LockMode::PESSIMISTIC_WRITE); $this->entityManager->refresh($object, LockMode::PESSIMISTIC_WRITE); if (StoredObject::STATUS_PENDING !== $object->getStatus()) { return; } $generation = $this->exportManager->generateExport( $exportGeneration->getExportAlias(), $centers = $this->exportFormHelper->savedExportDataToFormData($exportGeneration, 'centers'), $this->exportFormHelper->savedExportDataToFormData($exportGeneration, 'export', ['picked_centers' => $centers]), $this->exportFormHelper->savedExportDataToFormData($exportGeneration, 'formatter', ['picked_centers' => $centers]), $user, ); $this->storedObjectManager->write($exportGeneration->getStoredObject(), $generation->content, $generation->contentType); }); } }