/** * @param EntryDistribution $entryDistribution * @param DistributionProfile $distributionProfile * @return BatchJob */ protected static function addSubmitDeleteJob(EntryDistribution $entryDistribution, DistributionProfile $distributionProfile) { $entryDistribution->setStatus(EntryDistributionStatus::DELETING); $entryDistribution->setDirtyStatus(null); if (!$entryDistribution->save()) { KalturaLog::err("Unable to save entry distribution [" . $entryDistribution->getId() . "] status"); return null; } $jobData = new kDistributionDeleteJobData(); $jobData->setDistributionProfileId($entryDistribution->getDistributionProfileId()); $jobData->setEntryDistributionId($entryDistribution->getId()); $jobData->setProviderType($distributionProfile->getProviderType()); $jobData->setRemoteId($entryDistribution->getRemoteId()); $jobData->setMediaFiles($entryDistribution->getMediaFiles()); $batchJob = new BatchJob(); $batchJob->setEntryId($entryDistribution->getEntryId()); $batchJob->setPartnerId($entryDistribution->getPartnerId()); $jobType = ContentDistributionPlugin::getBatchJobTypeCoreValue(ContentDistributionBatchJobType::DISTRIBUTION_DELETE); $jobSubType = $distributionProfile->getProviderType(); return kJobsManager::addJob($batchJob, $jobData, $jobType, $jobSubType); }
/** * @param EntryDistribution $entryDistribution * @param DistributionProfile $distributionProfile * @return BatchJob */ protected static function addSubmitDeleteJob(EntryDistribution $entryDistribution, DistributionProfile $distributionProfile) { $entryDistribution->setStatus(EntryDistributionStatus::DELETING); if (!$entryDistribution->save()) { KalturaLog::err("Unable to save entry distribution [" . $entryDistribution->getId() . "] status"); $entryDistribution->reload(); return null; } $entryDistribution->setDirtyStatus(null); //Moved down to ensure previous save is done Atomically $entryDistribution->save(); $jobData = new kDistributionDeleteJobData(); $jobData->setDistributionProfileId($entryDistribution->getDistributionProfileId()); $jobData->setEntryDistributionId($entryDistribution->getId()); $jobData->setProviderType($distributionProfile->getProviderType()); $jobData->setRemoteId($entryDistribution->getRemoteId()); $jobData->setMediaFiles($entryDistribution->getMediaFiles()); $batchJob = new BatchJob(); $batchJob->setEntryId($entryDistribution->getEntryId()); $batchJob->setPartnerId($entryDistribution->getPartnerId()); $batchJob->setObjectId($entryDistribution->getId()); $batchJob->setObjectType(kPluginableEnumsManager::apiToCore('BatchJobObjectType', ContentDistributionBatchJobObjectType::ENTRY_DISTRIBUTION)); $jobType = ContentDistributionPlugin::getBatchJobTypeCoreValue(ContentDistributionBatchJobType::DISTRIBUTION_DELETE); $jobSubType = $distributionProfile->getProviderType(); return kJobsManager::addJob($batchJob, $jobData, $jobType, $jobSubType); }
/** * @param BatchJob $dbBatchJob * @param kDistributionDeleteJobData $data * @param BatchJob $twinJob * @return BatchJob */ public static function onDistributionDeleteJobFailed(BatchJob $dbBatchJob, kDistributionDeleteJobData $data, BatchJob $twinJob = null) { $entryDistribution = EntryDistributionPeer::retrieveByPK($data->getEntryDistributionId()); if (!$entryDistribution) { KalturaLog::err("Entry distribution [" . $data->getEntryDistributionId() . "] not found"); return $dbBatchJob; } $entryDistribution->setErrorType($dbBatchJob->getErrType()); $entryDistribution->setErrorNumber($dbBatchJob->getErrNumber()); $entryDistribution->setErrorDescription($dbBatchJob->getMessage()); $entryDistribution->setStatus(EntryDistributionStatus::ERROR_DELETING); $entryDistribution->setDirtyStatus(null); $entryDistribution->save(); return $dbBatchJob; }
/** * @param EntryDistribution $entryDistribution * @param DistributionProfile $distributionProfile * @return BatchJob */ protected static function addSubmitDeleteJob(EntryDistribution $entryDistribution, DistributionProfile $distributionProfile) { $jobData = new kDistributionDeleteJobData(); $jobData->setDistributionProfileId($entryDistribution->getDistributionProfileId()); $jobData->setEntryDistributionId($entryDistribution->getId()); $jobData->setProviderType($distributionProfile->getProviderType()); $jobData->setRemoteId($entryDistribution->getRemoteId()); $batchJob = new BatchJob(); $batchJob->setEntryId($entryDistribution->getEntryId()); $batchJob->setPartnerId($entryDistribution->getPartnerId()); $jobType = ContentDistributionPlugin::getBatchJobTypeCoreValue(ContentDistributionBatchJobType::DISTRIBUTION_DELETE); $jobSubType = $distributionProfile->getProviderType(); return kJobsManager::addJob($batchJob, $jobData, $jobType, $jobSubType); }