/** * 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; }
/** * 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; }