/** * Update all the drop folder files processed by the batch job according to batch job status: * 1. Retry - set files status to NO_MATCH * 2. Failure - set to ERROR_HANDLING * @param BatchJob $dbBatchJob * @param kDropFolderContentProcessorJobData $data */ private function onContentProcessorJobStatusUpdated(BatchJob $dbBatchJob, kDropFolderContentProcessorJobData $data) { $idsArray = explode(',', $data->getDropFolderFileIds()); $dropFolderFiles = DropFolderFilePeer::retrieveByPKs($idsArray); if (!$dropFolderFiles) { return; } switch ($dbBatchJob->getStatus()) { case BatchJob::BATCHJOB_STATUS_RETRY: //TODO: check error code KalturaLog::info('Batch job status RETRY => set files [' . $data->getDropFolderFileIds() . '] to NO_MATCH'); foreach ($dropFolderFiles as $dropFolderFile) { $dropFolderFile->setStatus(DropFolderFileStatus::NO_MATCH); $dropFolderFile->save(); } break; case BatchJob::BATCHJOB_STATUS_FAILED: case BatchJob::BATCHJOB_STATUS_FATAL: KalturaLog::info('Batch job FAILED => set files [' . $data->getDropFolderFileIds() . '] to ERROR_HANDLING'); foreach ($dropFolderFiles as $dropFolderFile) { $this->setFileError($dropFolderFile, DropFolderFileStatus::ERROR_HANDLING, DropFolderFileErrorCode::ERROR_IN_CONTENT_PROCESSOR, DropFolderPlugin::ERROR_IN_CONTENT_PROCESSOR_MESSAGE); } break; } }