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); break; }