Example #1
0
echo "Session started\n";
/**
 * Creates CSV file
 */
$csvPath = tempnam(sys_get_temp_dir(), 'csv');
$csvData = array(array('*title' => 'bulk-sanity-test1', 'description' => 'bulk-sanity-test1', 'tags' => 'sanity,test1', 'url' => $clientConfig->serviceUrl . 'content/templates/entry/data/kaltura_logo_animated_black.flv', 'contentType' => 'video', 'category' => 'sanity>test'), array('*title' => 'bulk-sanity-test2', 'description' => 'bulk-sanity-test2', 'tags' => 'sanity,test2', 'url' => $clientConfig->serviceUrl . 'content/templates/entry/data/kaltura_logo_animated_blue.flv', 'contentType' => 'video', 'category' => 'sanity>test'));
$f = fopen($csvPath, 'w');
fputcsv($f, array_keys(reset($csvData)));
foreach ($csvData as $csvLine) {
    fputcsv($f, $csvLine);
}
fclose($f);
$bulkUpload = $client->media->bulkUploadAdd($csvPath);
/* @var $bulkUpload KalturaBulkUpload */
echo "Bulk upload added [{$bulkUpload->id}]\n";
$bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
while ($bulkUpload) {
    if ($bulkUpload->status == KalturaBatchJobStatus::FINISHED || $bulkUpload->status == KalturaBatchJobStatus::FINISHED_PARTIALLY) {
        break;
    }
    if ($bulkUpload->status == KalturaBatchJobStatus::FAILED) {
        echo "Bulk upload [{$bulkUpload->id}] failed\n";
        exit(-1);
    }
    if ($bulkUpload->status == KalturaBatchJobStatus::ABORTED) {
        echo "Bulk upload [{$bulkUpload->id}] aborted\n";
        exit(-1);
    }
    if ($bulkUpload->status == KalturaBatchJobStatus::FATAL) {
        echo "Bulk upload [{$bulkUpload->id}] failed fataly\n";
        exit(-1);
Example #2
0
 function getBulkMonitorResult($client, $config)
 {
     $monitorResult = new KalturaMonitorResult();
     $apiCall = null;
     try {
         $apiCall = 'session.start';
         $start = microtime(true);
         $ks = $client->session->start($config['monitor-partner']['secret'], 'monitor-user', KalturaSessionType::USER, $config['monitor-partner']['id']);
         $client->setKs($ks);
         $data = @file_get_contents(__DIR__ . self::BULK_XML_FILE_ADD);
         $entry1_ref_id = uniqid('monitor_bulk_xml1');
         $entry2_ref_id = uniqid('monitor_bulk_xml2');
         $entries_data = array('ENTRY1_URL' => $client->getConfig()->serviceUrl . '/content/templates/entry/data/kaltura_logo_animated_green.flv', 'ENTRY1_REF_ID' => $entry1_ref_id, 'ENTRY2_URL' => $client->getConfig()->serviceUrl . '/content/templates/entry/data/kaltura_logo_animated_red.flv', 'ENTRY2_REF_ID' => $entry2_ref_id);
         $xml = self::replaceTokensInString($data, $entries_data);
         $xmlPath = sys_get_temp_dir() . "/" . uniqid('bulk_upload') . '.xml';
         file_put_contents($xmlPath, $xml);
         $this->bulkError = null;
         $this->monitorDescription = '';
         $bulkStatus;
         $apiCall = 'media.bulkUploadAdd';
         $jobData = new KalturaBulkUploadXmlJobData();
         $bulkUpload = $client->media->bulkUploadAdd($xmlPath, $jobData);
         $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
         $bulkStatus = self::getBulkJobStatus("Add", $bulkUpload, $bulkUploadPlugin);
         if ($this->bulkError) {
             $bulkStatus = self::JOB_STATUS_CODE_ERROR;
             $error = new KalturaMonitorError();
             $error->description = "Add: " . $this->bulkError;
             $error->level = KalturaMonitorError::ERR;
             $monitorResult->errors[] = $error;
             $this->monitorDescription = $error->description;
         } else {
             // create update users csv
             $data = @file_get_contents(__DIR__ . self::BULK_XML_FILE_UPDATE);
             $entries_data = array('ACTION' => 'update', 'ENTRY1_REF_ID' => $entry1_ref_id, 'ENTRY1_DESC' => 'update monitor bulk upload xml 1', 'ENTRY2_REF_ID' => $entry2_ref_id, 'ENTRY2_DESC' => 'update monitor bulk upload xml 2');
             $xml = self::replaceTokensInString($data, $entries_data);
             $xmlPath = sys_get_temp_dir() . "/" . uniqid('bulk_upload') . '.xml';
             file_put_contents($xmlPath, $xml);
             $this->bulkError = null;
             $apiCall = 'media.bulkUploadAdd';
             $jobData = new KalturaBulkUploadXmlJobData();
             $bulkUpload = $client->media->bulkUploadAdd($xmlPath, $jobData);
             /* @var $bulkUpload KalturaBulkUpload */
             $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
             $bulkStatus = self::getBulkJobStatus("Update", $bulkUpload, $bulkUploadPlugin);
             if ($this->bulkError) {
                 $bulkStatus = self::JOB_STATUS_CODE_ERROR;
                 $error = new KalturaMonitorError();
                 $error->description = 'Update: ' . $this->bulkError;
                 $error->level = KalturaMonitorError::ERR;
                 $monitorResult->errors[] = $error;
                 $this->monitorDescription .= $error->description;
             } else {
                 // create delete entries xml
                 $data = @file_get_contents(__DIR__ . self::BULK_XML_FILE_UPDATE);
                 $entries_data = array('ACTION' => 'delete', 'ENTRY1_REF_ID' => $entry1_ref_id, 'ENTRY1_DESC' => 'update monitor bulk upload xml 1', 'ENTRY2_REF_ID' => $entry2_ref_id, 'ENTRY2_DESC' => 'update monitor bulk upload xml 2');
                 $xml = self::replaceTokensInString($data, $entries_data);
                 $xmlPath = sys_get_temp_dir() . "/" . uniqid('bulk_upload') . '.xml';
                 file_put_contents($xmlPath, $xml);
                 $this->bulkError = null;
                 $apiCall = 'media.bulkUploadAdd';
                 $jobData = new KalturaBulkUploadXmlJobData();
                 $bulkUpload = $client->media->bulkUploadAdd($xmlPath, $jobData);
                 /* @var $bulkUpload KalturaBulkUpload */
                 $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
                 $bulkStatus = self::getBulkJobStatus("Delete", $bulkUpload, $bulkUploadPlugin);
                 if ($this->bulkError) {
                     $bulkStatus = self::JOB_STATUS_CODE_ERROR;
                     $error = new KalturaMonitorError();
                     $error->description = 'Delete: ' . $this->bulkError;
                     $error->level = KalturaMonitorError::ERR;
                     $monitorResult->errors[] = $error;
                     $this->monitorDescription .= $error->description;
                 }
             }
         }
         $monitorResult->executionTime = microtime(true) - $start;
         $monitorResult->value = $bulkStatus;
         $monitorResult->description = $this->monitorDescription;
     } catch (KalturaException $e) {
         $end = microtime(true);
         $monitorResult->executionTime = $end - $start;
         $error = new KalturaMonitorError();
         $error->code = $e->getCode();
         $error->description = $e->getMessage();
         $error->level = KalturaMonitorError::ERR;
         $monitorResult->errors[] = $error;
         $monitorResult->description = "Exception: " . get_class($e) . ", API: {$apiCall}, Code: " . $e->getCode() . ", Message: " . $e->getMessage();
     } catch (KalturaClientException $ce) {
         $end = microtime(true);
         $monitorResult->executionTime = $end - $start;
         $error = new KalturaMonitorError();
         $error->code = $ce->getCode();
         $error->description = $ce->getMessage();
         $error->level = KalturaMonitorError::CRIT;
         $monitorResult->errors[] = $error;
         $monitorResult->description = "Exception: " . get_class($ce) . ", API: {$apiCall}, Code: " . $ce->getCode() . ", Message: " . $ce->getMessage();
     }
     return $monitorResult;
 }
 function getBulkMonitorResult($client, $config)
 {
     $monitorResult = new KalturaMonitorResult();
     $apiCall = null;
     try {
         $apiCall = 'session.start';
         $start = microtime(true);
         $ks = $client->session->start($config['monitor-partner']['secret'], 'monitor-user', KalturaSessionType::USER, $config['monitor-partner']['id']);
         $client->setKs($ks);
         $rootCatRefId = uniqid('monitor_root_cat');
         $subCatRefId = uniqid('monitor_sub_cat');
         // create add categories csv
         $csvPath = tempnam(sys_get_temp_dir(), 'csv');
         $csvData = array(array("*action" => KalturaBulkUploadAction::ADD, "name" => uniqid("monitor_root_cat_csv"), "relativePath" => "", "description" => "monitor root category csv", "tags" => "monitor,root_cat", "referenceId" => $rootCatRefId), array("*action" => KalturaBulkUploadAction::ADD, "name" => uniqid("monitor_sub_cat_csv"), "relativePath" => "monitor_root_cat_csv", "description" => "monitor sub category csv", "tags" => "monitor,sub_cat", "referenceId" => $subCatRefId));
         $f = fopen($csvPath, 'w');
         fputcsv($f, array_keys(reset($csvData)));
         foreach ($csvData as $csvLine) {
             fputcsv($f, $csvLine);
         }
         fclose($f);
         $this->bulkError = null;
         $this->monitorDescription = '';
         $bulkStatus;
         $apiCall = 'category.addFromBulkUpload';
         $bulkUpload = $client->category->addFromBulkUpload($csvPath);
         /* @var $bulkUpload KalturaBulkUpload */
         $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
         $bulkStatus = self::getBulkJobStatus("Add", $bulkUpload, $bulkUploadPlugin);
         if ($this->bulkError) {
             $bulkStatus = self::JOB_STATUS_CODE_ERROR;
             $error = new KalturaMonitorError();
             $error->description = "Add: " . $this->bulkError;
             $error->level = KalturaMonitorError::ERR;
             $monitorResult->errors[] = $error;
             $monitorDescription = $error->description;
         } else {
             // create update categories csv
             $csvPath = tempnam(sys_get_temp_dir(), 'csv');
             $csvData = array(array("*action" => KalturaBulkUploadAction::UPDATE, "referenceId" => $rootCatRefId, "description" => "update monitor root category csv"), array("*action" => KalturaBulkUploadAction::UPDATE, "referenceId" => $subCatRefId, "description" => "update monitor sub category csv"));
             $f = fopen($csvPath, 'w');
             fputcsv($f, array_keys(reset($csvData)));
             foreach ($csvData as $csvLine) {
                 fputcsv($f, $csvLine);
             }
             fclose($f);
             $this->bulkError = null;
             $apiCall = 'cateogry.addFromBulkUpload';
             $bulkUpload = $client->category->addFromBulkUpload($csvPath);
             /* @var $bulkUpload KalturaBulkUpload */
             $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
             $bulkStatus = self::getBulkJobStatus("Update", $bulkUpload, $bulkUploadPlugin);
             if ($this->bulkError) {
                 $bulkStatus = self::JOB_STATUS_CODE_ERROR;
                 $error = new KalturaMonitorError();
                 $error->description = 'Update: ' . $this->bulkError;
                 $error->level = KalturaMonitorError::ERR;
                 $monitorResult->errors[] = $error;
                 $this->monitorDescription .= $error->description;
             } else {
                 // create delete categories csv
                 $csvPath = tempnam(sys_get_temp_dir(), 'csv');
                 $csvData = array(array("*action" => KalturaBulkUploadAction::DELETE, "referenceId" => $rootCatRefId), array("*action" => KalturaBulkUploadAction::DELETE, "referenceId" => $subCatRefId));
                 $f = fopen($csvPath, 'w');
                 fputcsv($f, array_keys(reset($csvData)));
                 foreach ($csvData as $csvLine) {
                     fputcsv($f, $csvLine);
                 }
                 fclose($f);
                 $this->bulkError = null;
                 $apiCall = 'category.addFromBulkUpload';
                 $bulkUpload = $client->category->addFromBulkUpload($csvPath);
                 /* @var $bulkUpload KalturaBulkUpload */
                 $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
                 $bulkStatus = self::getBulkJobStatus("Delete", $bulkUpload, $bulkUploadPlugin);
                 if ($this->bulkError) {
                     $bulkStatus = self::JOB_STATUS_CODE_ERROR;
                     $error = new KalturaMonitorError();
                     $error->description = 'Delete: ' . $this->bulkError;
                     $error->level = KalturaMonitorError::ERR;
                     $monitorResult->errors[] = $error;
                     $this->monitorDescription .= $error->description;
                 }
             }
         }
         $monitorResult->executionTime = microtime(true) - $start;
         $monitorResult->value = $bulkStatus;
         $monitorResult->description = $this->monitorDescription;
     } catch (KalturaException $e) {
         $end = microtime(true);
         $monitorResult->executionTime = $end - $start;
         $error = new KalturaMonitorError();
         $error->code = $e->getCode();
         $error->description = $e->getMessage();
         $error->level = KalturaMonitorError::ERR;
         $monitorResult->errors[] = $error;
         $monitorResult->description = "Exception: " . get_class($e) . ", API: {$apiCall}, Code: " . $e->getCode() . ", Message: " . $e->getMessage();
     } catch (KalturaClientException $ce) {
         $end = microtime(true);
         $monitorResult->executionTime = $end - $start;
         $error = new KalturaMonitorError();
         $error->code = $ce->getCode();
         $error->description = $ce->getMessage();
         $error->level = KalturaMonitorError::CRIT;
         $monitorResult->errors[] = $error;
         $monitorResult->description = "Exception: " . get_class($ce) . ", API: {$apiCall}, Code: " . $ce->getCode() . ", Message: " . $ce->getMessage();
     }
     return $monitorResult;
 }
Example #4
0
 function getBulkMonitorResult($client, $config)
 {
     $monitorResult = new KalturaMonitorResult();
     $apiCall = null;
     try {
         $apiCall = 'session.start';
         $start = microtime(true);
         $ks = $client->session->start($config['monitor-partner']['secret'], 'monitor-user', KalturaSessionType::USER, $config['monitor-partner']['id']);
         $client->setKs($ks);
         $userId_1 = uniqid('monitor-user1');
         $userId_2 = uniqid('monitor-user2');
         // create add users csv
         $csvPath = tempnam(sys_get_temp_dir(), 'csv');
         $csvData = array(array("*action" => KalturaBulkUploadAction::ADD, "userId" => $userId_1, "screenName" => "monitor-user1", "firstName" => "monitor", "lastName" => "user1", "email" => "*****@*****.**", "tags" => "monitor,user1"), array("*action" => KalturaBulkUploadAction::ADD, "userId" => $userId_2, "screenName" => "monitor-user2", "firstName" => "monitor", "lastName" => "user2", "email" => "*****@*****.**", "tags" => "monitor,user2"));
         $f = fopen($csvPath, 'w');
         fputcsv($f, array_keys(reset($csvData)));
         foreach ($csvData as $csvLine) {
             fputcsv($f, $csvLine);
         }
         fclose($f);
         $this->bulkError = null;
         $this->monitorDescription = '';
         $bulkStatus;
         $apiCall = 'user.addFromBulkUpload';
         $bulkUpload = $client->user->addFromBulkUpload($csvPath);
         /* @var $bulkUpload KalturaBulkUpload */
         $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
         $bulkStatus = self::getBulkJobStatus("Add", $bulkUpload, $bulkUploadPlugin);
         if ($this->bulkError) {
             $bulkStatus = self::JOB_STATUS_CODE_ERROR;
             $error = new KalturaMonitorError();
             $error->description = "Add: " . $this->bulkError;
             $error->level = KalturaMonitorError::ERR;
             $monitorResult->errors[] = $error;
             $this->monitorDescription = $error->description;
         } else {
             // create update users csv
             $csvPath = tempnam(sys_get_temp_dir(), 'csv');
             $csvData = array(array("*action" => KalturaBulkUploadAction::UPDATE, "userId" => $userId_1, "screenName" => "monitor-user1-update"), array("*action" => KalturaBulkUploadAction::UPDATE, "userId" => $userId_2, "screenName" => "monitor-user2-update"));
             $f = fopen($csvPath, 'w');
             fputcsv($f, array_keys(reset($csvData)));
             foreach ($csvData as $csvLine) {
                 fputcsv($f, $csvLine);
             }
             fclose($f);
             $this->bulkError = null;
             $apiCall = 'user.addFromBulkUpload';
             $bulkUpload = $client->user->addFromBulkUpload($csvPath);
             /* @var $bulkUpload KalturaBulkUpload */
             $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
             $bulkStatus = self::getBulkJobStatus("Update", $bulkUpload, $bulkUploadPlugin);
             if ($this->bulkError) {
                 $bulkStatus = self::JOB_STATUS_CODE_ERROR;
                 $error = new KalturaMonitorError();
                 $error->description = 'Update: ' . $this->bulkError;
                 $error->level = KalturaMonitorError::ERR;
                 $monitorResult->errors[] = $error;
                 $this->monitorDescription .= $error->description;
             } else {
                 // create delete users csv
                 $csvPath = tempnam(sys_get_temp_dir(), 'csv');
                 $csvData = array(array("*action" => KalturaBulkUploadAction::DELETE, "userId" => $userId_1), array("*action" => KalturaBulkUploadAction::DELETE, "userId" => $userId_2));
                 $f = fopen($csvPath, 'w');
                 fputcsv($f, array_keys(reset($csvData)));
                 foreach ($csvData as $csvLine) {
                     fputcsv($f, $csvLine);
                 }
                 fclose($f);
                 $this->bulkError = null;
                 $apiCall = 'user.addFromBulkUpload';
                 $bulkUpload = $client->user->addFromBulkUpload($csvPath);
                 /* @var $bulkUpload KalturaBulkUpload */
                 $bulkUploadPlugin = KalturaBulkUploadClientPlugin::get($client);
                 $bulkStatus = self::getBulkJobStatus("Delete", $bulkUpload, $bulkUploadPlugin);
                 if ($this->bulkError) {
                     $bulkStatus = self::JOB_STATUS_CODE_ERROR;
                     $error = new KalturaMonitorError();
                     $error->description = 'Delete: ' . $this->bulkError;
                     $error->level = KalturaMonitorError::ERR;
                     $monitorResult->errors[] = $error;
                     $this->monitorDescription .= $error->description;
                 }
             }
         }
         $monitorResult->executionTime = microtime(true) - $start;
         $monitorResult->value = $bulkStatus;
         $monitorResult->description = $this->monitorDescription;
     } catch (KalturaException $e) {
         $end = microtime(true);
         $monitorResult->executionTime = $end - $start;
         $error = new KalturaMonitorError();
         $error->code = $e->getCode();
         $error->description = $e->getMessage();
         $error->level = KalturaMonitorError::ERR;
         $monitorResult->errors[] = $error;
         $monitorResult->description = "Exception: " . get_class($e) . ", API: {$apiCall}, Code: " . $e->getCode() . ", Message: " . $e->getMessage();
     } catch (KalturaClientException $ce) {
         $end = microtime(true);
         $monitorResult->executionTime = $end - $start;
         $error = new KalturaMonitorError();
         $error->code = $ce->getCode();
         $error->description = $ce->getMessage();
         $error->level = KalturaMonitorError::CRIT;
         $monitorResult->errors[] = $error;
         $monitorResult->description = "Exception: " . get_class($ce) . ", API: {$apiCall}, Code: " . $ce->getCode() . ", Message: " . $ce->getMessage();
     }
     return $monitorResult;
 }