public static function updatePartnerLoadTable() { $actualPartnerLoads = PartnerLoadPeer::getPartnerLoads(); $c = new Criteria(); $c->add(PartnerLoadPeer::DC, kDataCenterMgr::getCurrentDcId()); $currentPartnerLoads = PartnerLoadPeer::doSelect($c); // This loop updates the partner load table contents according to the // accurate information gathered from the batch job table foreach ($currentPartnerLoads as $partnerLoad) { $maxQuota = self::getMaxQuotaForPartner($partnerLoad); $key = $partnerLoad->getPartnerId() . "#" . $partnerLoad->getJobType() . "#" . $partnerLoad->getJobSubType(); if (array_key_exists($key, $actualPartnerLoads)) { $actualLoad = $actualPartnerLoads[$key]; // Update $partnerLoad->setPartnerLoad($actualLoad->getPartnerLoad()); $partnerLoad->setWeightedPartnerLoad($actualLoad->getWeightedPartnerLoad()); $partnerLoad->setQuota($maxQuota - $actualLoad->getPartnerLoad()); $partnerLoad->save(); unset($actualPartnerLoads[$key]); } else { // Delete $partnerLoad->delete(); } } foreach ($actualPartnerLoads as $actualPartnerLoad) { $maxQuota = self::getMaxQuotaForPartner($actualPartnerLoad); $actualPartnerLoad->setQuota($maxQuota - $actualPartnerLoad->getPartnerLoad()); $actualPartnerLoad->save(); } }
/** * Retrieve object using using composite pkey values. * @param int $job_type * @param int $job_sub_type * @param int $partner_id * @param int $dc * @param PropelPDO $con * @return PartnerLoad */ public static function retrieveByPK($job_type, $job_sub_type, $partner_id, $dc, PropelPDO $con = null) { $key = serialize(array((string) $job_type, (string) $job_sub_type, (string) $partner_id, (string) $dc)); if (null !== ($obj = PartnerLoadPeer::getInstanceFromPool($key))) { return $obj; } $criteria = new Criteria(PartnerLoadPeer::DATABASE_NAME); $criteria->add(PartnerLoadPeer::JOB_TYPE, $job_type); $criteria->add(PartnerLoadPeer::JOB_SUB_TYPE, $job_sub_type); $criteria->add(PartnerLoadPeer::PARTNER_ID, $partner_id); $criteria->add(PartnerLoadPeer::DC, $dc); $v = PartnerLoadPeer::doSelect($criteria, $con); return !empty($v) ? $v[0] : null; }