private function onBulkUploadJobStatusUpdated(BatchJob $dbBatchJob)
 {
     $xmlDropFolderFile = DropFolderFilePeer::retrieveByPK($dbBatchJob->getObjectId());
     if (!$xmlDropFolderFile) {
         return;
     }
     KalturaLog::debug('object id ' . $dbBatchJob->getObjectId());
     switch ($dbBatchJob->getStatus()) {
         case BatchJob::BATCHJOB_STATUS_QUEUED:
             $jobData = $dbBatchJob->getData();
             if (!is_null($jobData->getFilePath())) {
                 $syncKey = $dbBatchJob->getSyncKey(BatchJob::FILE_SYNC_BATCHJOB_SUB_TYPE_BULKUPLOAD);
                 try {
                     kFileSyncUtils::moveFromFile($jobData->getFilePath(), $syncKey, true);
                 } catch (Exception $e) {
                     KalturaLog::err($e);
                     throw new APIException(APIErrors::BULK_UPLOAD_CREATE_CSV_FILE_SYNC_ERROR);
                 }
                 $filePath = kFileSyncUtils::getLocalFilePathForKey($syncKey);
                 $jobData->setFilePath($filePath);
                 //save new info on the batch job
                 $dbBatchJob->setData($jobData);
                 $dbBatchJob->save();
             }
             break;
         case BatchJob::BATCHJOB_STATUS_FINISHED:
         case BatchJob::BATCHJOB_STATUS_FINISHED_PARTIALLY:
             KalturaLog::debug("Handling Bulk Upload finished");
             $xmlDropFolderFile->setStatus(DropFolderFileStatus::HANDLED);
             $xmlDropFolderFile->save();
             break;
         case BatchJob::BATCHJOB_STATUS_FAILED:
         case BatchJob::BATCHJOB_STATUS_FATAL:
             KalturaLog::debug("Handling Bulk Upload failed");
             $relatedFiles = DropFolderFilePeer::retrieveByLeadIdAndStatuses($xmlDropFolderFile->getId(), array(DropFolderFileStatus::PROCESSING));
             foreach ($relatedFiles as $relatedFile) {
                 $this->setFileError($relatedFile, DropFolderFileStatus::ERROR_HANDLING, DropFolderXmlBulkUploadPlugin::getErrorCodeCoreValue(DropFolderXmlBulkUploadErrorCode::ERROR_IN_BULK_UPLOAD), DropFolderXmlBulkUploadPlugin::ERROR_IN_BULK_UPLOAD_MESSAGE);
             }
             break;
     }
 }
Exemple #2
0
 private static function commonLockObjectUpdate(BatchJob $batchJob, BatchJobLock $batchJobLock)
 {
     $jobType = $batchJob->getJobType();
     $batchJobLock->setStatus($batchJob->getStatus());
     $batchJobLock->setObjectId($batchJob->getObjectId());
     $batchJobLock->setObjectType($batchJob->getObjectType());
     if ($batchJob->getStatus() == BatchJob::BATCHJOB_STATUS_RETRY || $batchJob->getStatus() == BatchJob::BATCHJOB_STATUS_ALMOST_DONE) {
         $batchJobLock->setStartAt(time() + BatchJobLockPeer::getRetryInterval($jobType));
     }
     if ($batchJob->getLockInfo() != null) {
         $batchJobLock->setPriority($batchJob->getLockInfo()->getPriority());
         $batchJobLock->setUrgency($batchJob->getLockInfo()->getUrgency());
         $batchJobLock->setEstimatedEffort($batchJob->getLockInfo()->getEstimatedEffort());
         $batchJobLock->setVersion($batchJob->getLockInfo()->getLockVersion());
     }
 }