本文整理汇总了PHP中BatchJobPeer::retrieveByPKs方法的典型用法代码示例。如果您正苦于以下问题:PHP BatchJobPeer::retrieveByPKs方法的具体用法?PHP BatchJobPeer::retrieveByPKs怎么用?PHP BatchJobPeer::retrieveByPKs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BatchJobPeer
的用法示例。
在下文中一共展示了BatchJobPeer::retrieveByPKs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getExpiredJobs
public static function getExpiredJobs()
{
$jobTypes = kPluginableEnumsManager::coreValues('BatchJobType');
$executionAttempts2jobTypes = array();
// Map between max execution attempts and job types
foreach ($jobTypes as $jobType) {
$executionAttempts = BatchJobLockPeer::getMaxExecutionAttempts($jobType);
if (array_key_exists($executionAttempts, $executionAttempts2jobTypes)) {
$executionAttempts2jobTypes[$executionAttempts][] = $jobType;
} else {
$executionAttempts2jobTypes[$executionAttempts] = array($jobType);
}
}
// create query
$c = new Criteria();
$c->add(BatchJobLockPeer::STATUS, BatchJob::BATCHJOB_STATUS_FATAL, Criteria::NOT_EQUAL);
$c->add(BatchJobLockPeer::DC, kDataCenterMgr::getCurrentDcId());
// each DC should clean its own jobs
// Query for each job type
$batchJobLocks = array();
foreach ($executionAttempts2jobTypes as $execAttempts => $jobTypes) {
$typedCrit = clone $c;
$typedCrit->add(BatchJobLockPeer::EXECUTION_ATTEMPTS, $execAttempts, Criteria::GREATER_THAN);
$typedCrit->add(BatchJobLockPeer::JOB_TYPE, $jobTypes, Criteria::IN);
$typedJobs = BatchJobLockPeer::doSelect($typedCrit, myDbHelper::getConnection(myDbHelper::DB_HELPER_CONN_PROPEL2));
foreach ($typedJobs as $typedJob) {
$batchJobLocks[$typedJob->getId()] = $typedJob;
}
}
// get matching batch jobs
return BatchJobPeer::retrieveByPKs(array_keys($batchJobLocks));
}
示例2: postLockUpdate
public static function postLockUpdate(kExclusiveLockKey $lockKey, array $exclusive_objects_ids, $con)
{
$batchJobs = BatchJobPeer::retrieveByPKs($exclusive_objects_ids);
foreach ($batchJobs as $batchJob) {
/* @var $batchJob BatchJob */
// Set history
$uniqueId = new UniqueId();
$historyRecord = new kBatchHistoryData();
$historyRecord->setWorkerId($lockKey->getWorkerId());
$historyRecord->setSchedulerId($lockKey->getSchedulerId());
$historyRecord->setBatchIndex($lockKey->getBatchIndex());
$historyRecord->setHostName(isset($_SERVER["HOSTNAME"]) ? $_SERVER["HOSTNAME"] : gethostname());
$historyRecord->setSessionId((string) $uniqueId);
$batchJob->addHistoryRecord($historyRecord);
// Set fields
$batchJob->setLastWorkerId($lockKey->getWorkerId());
$batchJob->setLastSchedulerId($lockKey->getSchedulerId());
// Set fields from batch job lock
$lockInfo = $batchJob->getLockInfo();
$lockInfo->setLockVersion($lockInfo->getLockVersion() + 1);
$batchJob->setLockInfo($lockInfo);
$batchJob->save($con);
}
return $batchJobs;
}