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


PHP BatchJobPeer::doCountGroupBy方法代码示例

本文整理汇总了PHP中BatchJobPeer::doCountGroupBy方法的典型用法代码示例。如果您正苦于以下问题:PHP BatchJobPeer::doCountGroupBy方法的具体用法?PHP BatchJobPeer::doCountGroupBy怎么用?PHP BatchJobPeer::doCountGroupBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BatchJobPeer的用法示例。


在下文中一共展示了BatchJobPeer::doCountGroupBy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getNextJobPriority

 public static function getNextJobPriority($jobType)
 {
     //$priorities = array(1 => 33, 2 => 27, 3 => 20, 4 => 13, 5 => 7);
     $priorities = kConf::get('priority_percent');
     $createdAt = time() - kConf::get('priority_time_range');
     //		$createdAt = kConf::get('priority_time_range');
     $c = new Criteria();
     $c->add(BatchJobPeer::CREATED_AT, $createdAt, Criteria::GREATER_THAN);
     $c->add(BatchJobPeer::JOB_TYPE, $jobType);
     $c->add(BatchJobPeer::STATUS, BatchJob::BATCHJOB_STATUS_PENDING);
     $c->clearSelectColumns();
     $c->addSelectColumn('MAX(' . BatchJobPeer::PRIORITY . ')');
     $stmt = BatchJobPeer::doSelectStmt($c, myDbHelper::getConnection(myDbHelper::DB_HELPER_CONN_PROPEL2));
     $maxPriority = $stmt->fetchColumn();
     // gets the current queues
     $c = new Criteria();
     $c->add(BatchJobPeer::CREATED_AT, $createdAt, Criteria::GREATER_THAN);
     $c->add(BatchJobPeer::JOB_TYPE, $jobType);
     $c->add(BatchJobPeer::STATUS, BatchJob::BATCHJOB_STATUS_PENDING, Criteria::GREATER_THAN);
     $c->addGroupByColumn(BatchJobPeer::PRIORITY);
     // To prevent stress on the master DB - use the slave for checking the queue sizes
     $queues = BatchJobPeer::doCountGroupBy($c, myDbHelper::getConnection(myDbHelper::DB_HELPER_CONN_PROPEL2));
     // copy the queues and calcs the total
     $total = 0;
     $queues_size = array();
     foreach ($queues as $queue) {
         $queues_size[$queue['PRIORITY']] = $queue[BatchJobPeer::COUNT];
         $total += $queue[BatchJobPeer::COUNT];
     }
     // go over the priorities and see if its percent not used
     foreach ($priorities as $priority => $top_percent) {
         if ($priority > $maxPriority) {
             continue;
         }
         if (!isset($queues_size[$priority])) {
             return $priority;
         }
         $percent = $queues_size[$priority] / ($total / 100);
         if ($percent < $top_percent) {
             return $priority;
         }
     }
     return 1;
 }
开发者ID:richhl,项目名称:kalturaCE,代码行数:44,代码来源:kBatchManager.php


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