ob_start(); $rates = GemExchangeSpider::getInstance()->getGemExchangeRate(); if (!$rates) { throw new Exception("No gem exchange data"); } $date = new DateTime(); $date = new DateTime($date->format('Y-m-d H:i:00')); if (!($exists = GoldToGemRateQuery::create()->filterByRateDatetime($date)->count() > 0)) { $goldtogem = new GoldToGemRate(); $goldtogem->setRateDatetime($date); $goldtogem->setRate($rates['gold_to_gem'] * 100); // convert to copper $goldtogem->save(); } if (!($exists = GemToGoldRateQuery::create()->filterByRateDatetime($date)->count() > 0)) { $goldtogem = new GemToGoldRate(); $goldtogem->setRateDatetime($date); $goldtogem->setRate($rates['gem_to_gold'] * 100); // convert to copper $goldtogem->save(); } if ($debug) { echo ob_get_clean(); } else { ob_get_clean(); } } catch (Exception $e) { $log = ob_get_clean(); echo " --------------- \n !! worker process threw exception !!\n --------------- \n {$log} \n --------------- \n {$e} \n --------------- \n"; echo "error, sleeping [60] ... \n"; sleep(60);
/** * Exclude object from result * * @param GemToGoldRate $gemToGoldRate Object to remove from the list of results * * @return GemToGoldRateQuery The current query, for fluid interface */ public function prune($gemToGoldRate = null) { if ($gemToGoldRate) { $this->addUsingAlias(GemToGoldRatePeer::RATE_DATETIME, $gemToGoldRate->getRateDatetime(), Criteria::NOT_EQUAL); } return $this; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param GemToGoldRate $obj A GemToGoldRate object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool($obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getRateDatetime(); } // if key === null GemToGoldRatePeer::$instances[$key] = $obj; } }