/** * @param int $eventNotificationType * @param kEventNotificationDispatchJobData $jobData * @param string $partnerId * @param string $entryId * @param BatchJob $parentJob * @return BatchJob */ public static function addEventNotificationDispatchJob($eventNotificationType, kEventNotificationDispatchJobData $jobData, $partnerId = null, $entryId = null, BatchJob $parentJob = null) { $batchJob = null; if ($parentJob) { $batchJob = $parentJob->createChild(false); } else { $batchJob = new BatchJob(); $batchJob->setEntryId($entryId); if (!$partnerId) { $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id; } $batchJob->setPartnerId($partnerId ? $partnerId : kCurrentContext::$partner_id); } KalturaLog::log("Creating event notification dispatch job on template id [" . $jobData->getTemplateId() . "] engine[{$eventNotificationType}]"); $jobType = EventNotificationPlugin::getBatchJobTypeCoreValue(EventNotificationBatchType::EVENT_NOTIFICATION_HANDLER); return kJobsManager::addJob($batchJob, $jobData, $jobType, $eventNotificationType); }
/** * @param int $eventNotificationType * @param kEventNotificationDispatchJobData $jobData * @param string $partnerId * @param string $entryId * @param BatchJob $parentJob * @return BatchJob */ protected function addEventNotificationDispatchJob($eventNotificationType, kEventNotificationDispatchJobData $jobData, $partnerId = null, $entryId = null, BatchJob $parentJob = null) { $jobType = EventNotificationPlugin::getBatchJobTypeCoreValue(EventNotificationBatchType::EVENT_NOTIFICATION_HANDLER); $batchJob = null; if ($parentJob) { $batchJob = $parentJob->createChild($jobType, $eventNotificationType, false); } else { $batchJob = new BatchJob(); $batchJob->setEntryId($entryId); if (!$partnerId) { $partnerId = kCurrentContext::getCurrentPartnerId(); } $batchJob->setPartnerId($partnerId); } KalturaLog::log("Creating event notification dispatch job on template id [" . $jobData->getTemplateId() . "] engine[{$eventNotificationType}]"); $batchJob->setObjectId($entryId); $batchJob->setObjectType(BatchJobObjectType::ENTRY); $batchJob->setStatus(BatchJob::BATCHJOB_STATUS_DONT_PROCESS); $batchJob = kJobsManager::addJob($batchJob, $jobData, $jobType, $eventNotificationType); $jobData->setJobId($batchJob->getId()); $batchJob->setData($jobData); return kJobsManager::updateBatchJob($batchJob, BatchJob::BATCHJOB_STATUS_PENDING); }