get_access_token(); if ($state === false) { Log::record("get token fail msg:$result", Log::ERR); return false; } else { $period = $result; return true; } }; $next_time = 0; $period = 7000; while (true) { try { if($next_time > time()) { sleep(1); } elseif($worker($period)) { $next_time = time() + $period; } else { Log::record("token_refresh",Log::ERR); } } catch (Exception $ex) { Log::record($ex->getMessage(),Log::ERR); } } } }