摘要:廢話不說,直接上代碼守護進程阿波羅同步
廢話不說,直接上代碼
"http://10.208.204.46:8161", "query" => [ "app_id" => "wuc", "cluster" => "default", "namespace" => "application", ] ];
守護進程
namespace AppConsoleCommandsApollo; use GuzzleHttpClient; use IlluminateConsoleCommand; use IlluminateSupportArr; use IlluminateSupportFacadesStorage; class SyncCommand extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = "ue:apollo:sync"; /** * The console command description. * * @var string */ protected $description = "阿波羅同步"; protected $config = []; protected $url; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); $this->url = config("apollo.server") . "/configs/" . implode("/", array_values(config("apollo.query"))); } /** * Execute the console command. * * @return mixed */ public function handle() { $this->doSync(); } protected function doSync() { $client = new Client(["timeout" => 2.00]); try { $response = $client->request("GET", $this->url); $body = json_decode($response->getBody()->getContents(), true); $cfg = Arr::get($body, "configurations", []); if (!$cfg) { return true; } $cfg = array_map(function ($value) { if ($row = json_decode($value, true)) { return $row; } return $value; }, $cfg); $items = []; foreach ($cfg as $key => $value) { data_set($items, $key, $value); } foreach ($items as $k => $item) { $this->line("Saving [".$k."]"); $this->save($k, $item); } } catch (Exception $ex) { $this->error($ex->getMessage()); } } protected function save($fileName, $item) { if(config("apollo.sync.redis", false)){ cache()->tags("apollo")->forever($fileName, $item); $this->line("Saving To Redis ".$fileName); } if(config("apollo.sync.file", false)){ $this->line("Saving To File ".$fileName); $fileName = "apollo/" . $fileName . ".php"; ksort($item); $content = implode(" ", [ "put($fileName, $content); } $this->line("=================="); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30922.html
摘要:基于的動態配置推送。對于任務中心這種多任務平臺型的配置,有一定影響。基于回調和配置的擴展點流程共建在建中通過擴展點共建方式,將流程編排的能力,暴露給內外部的開發者,完成任務中心的共建。 一、聊聊本文想說什么: ??為更好幫助商家的會員快速成長,保持用戶活性,完善用戶的成長體系,有贊用戶中心-會員成長團隊基于現有的業務場景,設計了一套較完備任務中心系統。同時也有很多通用技術組件能夠落地。...
摘要:零為何要學源碼簡單,是我現在看起來最簡單的源碼不會像封裝了一層又一層,把人繞暈,而沒有那么多封裝,上手快,我們學習就應該從簡單的開始憑什么非要去學封的像粽子一樣的源碼,我們就是要去學簡簡單單,平時樸素,接地氣的源碼最接近業務代碼的源碼。 零 為何要學apollo源碼 1 簡單,Apollo是我現在看起來最簡單的源碼不會像spring封裝了一層又一層,把人繞暈,而apollo沒有那么多封...
摘要:這樣做的方式是簡單,缺點是無法及時獲取變更推模式規則中心統一推送,客戶端通過注冊監聽器的方式時刻監聽變化,比如使用等配置中心。 在前面的學習過程中,Sentinel 的規則,也就是我們之前定義的限流規則,是通過代碼的方式定義好的。這是初始化時需要做的事情,Sentinel 提供了基于API的方式修改規則: FlowRuleManager.loadRules(List rules); /...
摘要:工具軟件欲先攻其事必先利其器,用好工具是做好開發的基礎。框架目前最流行簡單易用,越來越多人用曾經很流行,現在有點衰退狀態管理后端渲染開發工具依賴管理,應用打包,任務管理,編輯器擴展,,移動端有了前端的知識后,我們還可以開發手機。 2019年即將到來,各位同學2018年辛苦了。 不管大家2018年過的怎么樣,2019年還是要繼續加油的! 在此我整理了個人認為在2019仍是或者將成為主流的...
摘要:百度世界發布劃時代產品,軟硬件結合更懂智能生活月日,百度世界大會在北京盛大舉行。百度已與一汽集團簽署戰略合作協議,共同推動該項技術產品落地。渡鴉在會上同時公布了另外兩款即將面世的產品。 百度世界發布劃時代產品,軟硬件結合更懂智能生活 11 月 16 日,2017 百度世界大會在北京盛大舉行。百度在會上發布了手機百度 10.0 和全新人工智能硬件Raven H等軟硬件產品。百度董事長兼首...
閱讀 2586·2021-09-26 10:13
閱讀 6003·2021-09-08 10:46
閱讀 696·2019-08-30 15:53
閱讀 2971·2019-08-29 16:13
閱讀 2763·2019-08-26 12:23
閱讀 3492·2019-08-26 11:24
閱讀 1098·2019-08-23 18:09
閱讀 1036·2019-08-23 17:08