/**
  * batch updateBulkUploadResults action adds KalturaBulkUploadResult to the DB
  * 
  * @action updateBulkUploadResults
  * @param int $bulkUploadJobId The id of the bulk upload job
  * @return int the number of unclosed entries 
  */
 function updateBulkUploadResultsAction($bulkUploadJobId)
 {
     $unclosedEntriesCount = 0;
     $errorObjects = 0;
     $unclosedEntries = array();
     $bulkUploadResults = BulkUploadResultPeer::retrieveByBulkUploadId($bulkUploadJobId);
     $bulkUpload = BatchJobPeer::retrieveByPK($bulkUploadJobId);
     if ($bulkUpload) {
         foreach ($bulkUploadResults as $bulkUploadResult) {
             /* @var $bulkUploadResult BulkUploadResult */
             $status = $bulkUploadResult->updateStatusFromObject();
             if ($status == BulkUploadResultStatus::IN_PROGRESS) {
                 $unclosedEntriesCount++;
             }
             if ($status == BulkUploadResultStatus::ERROR) {
                 $errorObjects++;
             }
         }
         $data = $bulkUpload->getData();
         if ($data && $data instanceof kBulkUploadJobData) {
             //TODO: find some better alternative, find out why the bulk upload result which reports error is
             // returning objectId "null" for failed entry assets, rather than the entryId to which they pertain.
             //$data->setNumOfEntries(BulkUploadResultPeer::countWithEntryByBulkUploadId($bulkUploadJobId));
             $data->setNumOfObjects(BulkUploadResultPeer::countWithObjectTypeByBulkUploadId($bulkUploadJobId, $data->getBulkUploadObjectType()));
             $data->setNumOfErrorObjects($errorObjects);
             $bulkUpload->setData($data);
             $bulkUpload->save();
         }
     }
     return $unclosedEntriesCount;
 }
예제 #2
0
 /**
  * batch updateBulkUploadResults action adds KalturaBulkUploadResult to the DB
  *
  * @action updateBulkUploadResults
  * @param int $bulkUploadJobId The id of the bulk upload job
  * @return int the number of unclosed entries
  */
 function updateBulkUploadResultsAction($bulkUploadJobId)
 {
     $unclosedEntriesCount = 0;
     $errorObjects = 0;
     $unclosedEntries = array();
     $criteria = new Criteria();
     $criteria->add(BulkUploadResultPeer::BULK_UPLOAD_JOB_ID, $bulkUploadJobId);
     $criteria->addAscendingOrderByColumn(BulkUploadResultPeer::LINE_INDEX);
     $criteria->setLimit(100);
     $bulkUpload = BatchJobPeer::retrieveByPK($bulkUploadJobId);
     if ($bulkUpload) {
         $handledResults = 0;
         $bulkUploadResults = BulkUploadResultPeer::doSelect($criteria);
         while (count($bulkUploadResults)) {
             $handledResults += count($bulkUploadResults);
             foreach ($bulkUploadResults as $bulkUploadResult) {
                 /* @var $bulkUploadResult BulkUploadResult */
                 $status = $bulkUploadResult->updateStatusFromObject();
                 if ($status == BulkUploadResultStatus::IN_PROGRESS) {
                     $unclosedEntriesCount++;
                 }
                 if ($status == BulkUploadResultStatus::ERROR) {
                     $errorObjects++;
                 }
             }
             if (count($bulkUploadResults) < $criteria->getLimit()) {
                 break;
             }
             kMemoryManager::clearMemory();
             $criteria->setOffset($handledResults);
             $bulkUploadResults = BulkUploadResultPeer::doSelect($criteria);
         }
         $data = $bulkUpload->getData();
         if ($data && $data instanceof kBulkUploadJobData) {
             //TODO: find some better alternative, find out why the bulk upload result which reports error is
             // returning objectId "null" for failed entry assets, rather than the entryId to which they pertain.
             //$data->setNumOfEntries(BulkUploadResultPeer::countWithEntryByBulkUploadId($bulkUploadJobId));
             $data->setNumOfObjects(BulkUploadResultPeer::countWithObjectTypeByBulkUploadId($bulkUploadJobId, $data->getBulkUploadObjectType()));
             $data->setNumOfErrorObjects($errorObjects);
             $bulkUpload->setData($data);
             $bulkUpload->save();
         }
     }
     return $unclosedEntriesCount;
 }