/** * @param BatchJob $dbBatchJob * @param kImportJobData $data * @param BatchJob $twinJob * @return BatchJob */ public static function onImportJobFailed(BatchJob $dbBatchJob, kImportJobData $data, BatchJob $twinJob = null) { $statuses = array(EntryDistributionStatus::IMPORT_SUBMITTING, EntryDistributionStatus::IMPORT_UPDATING); $entryDistributions = EntryDistributionPeer::retrieveByEntryAndStatuses($dbBatchJob->getEntryId(), $statuses); foreach ($entryDistributions as $entryDistribution) { /* @var $entryDistribution EntryDistribution */ if ($entryDistribution->getStatus() == EntryDistributionStatus::IMPORT_SUBMITTING) { $entryDistribution->setStatus(EntryDistributionStatus::ERROR_SUBMITTING); } elseif ($entryDistribution->getStatus() == EntryDistributionStatus::IMPORT_UPDATING) { $entryDistribution->setStatus(EntryDistributionStatus::ERROR_UPDATING); } $entryDistribution->setErrorType($dbBatchJob->getErrType()); $entryDistribution->setErrorNumber($dbBatchJob->getErrNumber()); $entryDistribution->setErrorDescription($dbBatchJob->getMessage()); $entryDistribution->setDirtyStatus(null); $entryDistribution->save(); } }