本文整理匯總了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;
}