本文整理汇总了PHP中PartnerPeer::getPartnerPriorityFactor方法的典型用法代码示例。如果您正苦于以下问题:PHP PartnerPeer::getPartnerPriorityFactor方法的具体用法?PHP PartnerPeer::getPartnerPriorityFactor怎么用?PHP PartnerPeer::getPartnerPriorityFactor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PartnerPeer
的用法示例。
在下文中一共展示了PartnerPeer::getPartnerPriorityFactor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPartnerLoads
/**
* This function queies the batch job lock table and calculates for each partnerID and job type
* its partner load and weigthed partner load. it returns the information as a Map where :
* key - partnerId#jobType#jobSubType
* value - partnerLoad
*/
public static function getPartnerLoads()
{
$dcId = kDataCenterMgr::getCurrentDcId();
$c = new Criteria();
$c->add(BatchJobLockPeer::WORKER_ID, null, Criteria::ISNOTNULL);
$c->add(BatchJobLockPeer::DC, $dcId);
$c->addGroupByColumn(BatchJobLockPeer::PARTNER_ID);
$c->addGroupByColumn(BatchJobLockPeer::JOB_TYPE);
$c->addGroupByColumn(BatchJobLockPeer::JOB_SUB_TYPE);
$c->addSelectColumn(BatchJobLockPeer::COUNT);
foreach ($c->getGroupByColumns() as $column) {
$c->addSelectColumn($column);
}
$stmt = BatchJobLockPeer::doSelectStmt($c);
$partnerLoads = array();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
$partnerId = $row['PARTNER_ID'];
$jobType = $row['JOB_TYPE'];
$jobSubType = $row['JOB_SUB_TYPE'];
if (is_null($jobSubType)) {
$jobSubType = 0;
}
$jobCount = $row[BatchJobLockPeer::COUNT];
$priorityFactor = PartnerPeer::getPartnerPriorityFactor($partnerId);
$key = $partnerId . "#" . $jobType . "#" . $jobSubType;
$partnerLoad = new PartnerLoad();
$partnerLoad->setPartnerId($partnerId);
$partnerLoad->setJobType($jobType);
$partnerLoad->setJobSubType($jobSubType);
$partnerLoad->setDc($dcId);
$partnerLoad->setPartnerLoad($jobCount);
$partnerLoad->setWeightedPartnerLoad($jobCount * $priorityFactor);
$partnerLoads[$key] = $partnerLoad;
}
return $partnerLoads;
}