本文整理汇总了PHP中BatchJob::getBatchJobLock方法的典型用法代码示例。如果您正苦于以下问题:PHP BatchJob::getBatchJobLock方法的具体用法?PHP BatchJob::getBatchJobLock怎么用?PHP BatchJob::getBatchJobLock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BatchJob
的用法示例。
在下文中一共展示了BatchJob::getBatchJobLock方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: abortDbBatchJob
public static function abortDbBatchJob(BatchJob $dbBatchJob, $force = false)
{
// No need to abort finished job
if (in_array($dbBatchJob->getStatus(), BatchJobPeer::getClosedStatusList())) {
if ($force) {
$dbBatchJob->setExecutionStatus(BatchJobExecutionStatus::ABORTED);
$dbBatchJob->save();
}
return $dbBatchJob;
}
$lockObject = $dbBatchJob->getBatchJobLock();
if (is_null($lockObject)) {
KalturaLog::err("Batch job [" . $dbBatchJob->getId() . "] doesn't have a lock object and can't be deleted. Status (" . $dbBatchJob->getStatus() . ")");
return $dbBatchJob;
}
// Update status
$con = Propel::getConnection();
$update = new Criteria();
$update->add(BatchJobLockPeer::STATUS, BatchJob::BATCHJOB_STATUS_ABORTED);
$update->add(BatchJobLockPeer::VERSION, $lockObject->getVersion() + 1);
$updateCondition = new Criteria();
$updateCondition->add(BatchJobLockPeer::ID, $lockObject->getId(), Criteria::EQUAL);
$updateCondition->add(BatchJobLockPeer::VERSION, $lockObject->getVersion(), Criteria::EQUAL);
$updateCondition->add(BatchJobLockPeer::SCHEDULER_ID, null, Criteria::ISNULL);
$affectedRows = BasePeer::doUpdate($updateCondition, $update, $con);
if ($affectedRows) {
$dbBatchJob->setExecutionStatus(BatchJobExecutionStatus::ABORTED);
$dbBatchJob = self::updateBatchJob($dbBatchJob, BatchJob::BATCHJOB_STATUS_ABORTED);
} else {
$dbBatchJob->setExecutionStatus(BatchJobExecutionStatus::ABORTED);
$dbBatchJob->save();
}
self::abortChildJobs($dbBatchJob);
return $dbBatchJob;
}
示例2: updatedJob
public function updatedJob(BatchJob $dbBatchJob)
{
$dbBatchJobLock = $dbBatchJob->getBatchJobLock();
try {
if ($dbBatchJob->getStatus() == BatchJob::BATCHJOB_STATUS_FAILED || $dbBatchJob->getStatus() == BatchJob::BATCHJOB_STATUS_FATAL) {
kJobsManager::abortChildJobs($dbBatchJob);
}
$jobType = $dbBatchJob->getJobType();
switch ($jobType) {
case BatchJobType::IMPORT:
$dbBatchJob = $this->updatedImport($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::EXTRACT_MEDIA:
$dbBatchJob = $this->updatedExtractMedia($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::CONVERT:
$dbBatchJob = $this->updatedConvert($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::POSTCONVERT:
$dbBatchJob = $this->updatedPostConvert($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::BULKUPLOAD:
$dbBatchJob = $this->updatedBulkUpload($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::CONVERT_PROFILE:
$dbBatchJob = $this->updatedConvertProfile($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::BULKDOWNLOAD:
$dbBatchJob = $this->updatedBulkDownload($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::PROVISION_PROVIDE:
$dbBatchJob = $this->updatedProvisionProvide($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::PROVISION_DELETE:
$dbBatchJob = $this->updatedProvisionDelete($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::CONVERT_COLLECTION:
$dbBatchJob = $this->updatedConvertCollection($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::STORAGE_EXPORT:
$dbBatchJob = $this->updatedStorageExport($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::MOVE_CATEGORY_ENTRIES:
$dbBatchJob = $this->updatedMoveCategoryEntries($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::STORAGE_DELETE:
$dbBatchJob = $this->updatedStorageDelete($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::CAPTURE_THUMB:
$dbBatchJob = $this->updatedCaptureThumb($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::DELETE_FILE:
$dbBatchJob = $this->updatedDeleteFile($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::INDEX:
$dbBatchJob = $this->updatedIndex($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::COPY:
$dbBatchJob = $this->updatedCopy($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::DELETE:
$dbBatchJob = $this->updatedDelete($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::CONCAT:
$dbBatchJob = $this->updatedConcat($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::CONVERT_LIVE_SEGMENT:
$dbBatchJob = $this->updatedConvertLiveSegment($dbBatchJob, $dbBatchJob->getData());
break;
case BatchJobType::LIVE_REPORT_EXPORT:
$dbBatchJob = $this->updatedLiveReportExport($dbBatchJob, $dbBatchJob->getData());
break;
default:
break;
}
if ($dbBatchJob->getStatus() == BatchJob::BATCHJOB_STATUS_RETRY) {
if ($dbBatchJobLock && $dbBatchJobLock->getExecutionAttempts() >= BatchJobLockPeer::getMaxExecutionAttempts($jobType)) {
$dbBatchJob = kJobsManager::updateBatchJob($dbBatchJob, BatchJob::BATCHJOB_STATUS_FAILED);
}
}
if (in_array($dbBatchJob->getStatus(), BatchJobPeer::getClosedStatusList())) {
$jobEntry = $dbBatchJob->getEntry();
if ($jobEntry && $jobEntry->getMarkedForDeletion()) {
myEntryUtils::deleteEntry($jobEntry, null, true);
}
}
} catch (Exception $ex) {
self::alert($dbBatchJob, $ex);
KalturaLog::err("Error:" . $ex->getMessage());
}
return true;
}
示例3: updateLockObject
public static function updateLockObject(BatchJob $batchJob, PropelPDO $con = null)
{
$batchJobLock = $batchJob->getBatchJobLock();
if ($batchJobLock === null) {
KalturaLog::info("Lock object wasn't found for Batch Job " . $batchJob->getId());
return;
}
self::commonLockObjectUpdate($batchJob, $batchJobLock);
// Don't add save batch job lock, it's done automatically by the save of the batch job!
$result = array_intersect(self::$LOCK_AFFECTED_BY_COLUMNS_NAMES, $batchJob->getModifiedColumns());
if (count($result) > 0) {
$version = $batchJobLock->getVersion() + 1;
// update
$batchJobLock->setVersion($version);
// update lock info
$lockInfo = $batchJob->getLockInfo();
$lockInfo->setLockVersion($version);
$batchJob->setLockInfo($lockInfo);
}
}