当前位置: 首页>>代码示例>>PHP>>正文


PHP BatchJobPeer::retrieveByPKs方法代码示例

本文整理汇总了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));
 }
开发者ID:DBezemer,项目名称:server,代码行数:32,代码来源:kBatchExclusiveLock.class.php

示例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;
 }
开发者ID:DBezemer,项目名称:server,代码行数:25,代码来源:BatchJobPeer.php


注:本文中的BatchJobPeer::retrieveByPKs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。