成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Laravel接入Apollo

xiaotianyi / 1707人閱讀

摘要:廢話不說,直接上代碼守護(hù)進(jìn)程阿波羅同步

廢話不說,直接上代碼

 "http://10.208.204.46:8161",

    "query" => [
        "app_id" => "wuc",
        "cluster" => "default",
        "namespace" => "application",
    ]

];

守護(hù)進(jìn)程

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("==================");
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30922.html

相關(guān)文章

  • 基于通用jar、動(dòng)態(tài)配置、組件編排的會(huì)員任務(wù)中心系統(tǒng)設(shè)計(jì)

    摘要:基于的動(dòng)態(tài)配置推送。對(duì)于任務(wù)中心這種多任務(wù)平臺(tái)型的配置,有一定影響。基于回調(diào)和配置的擴(kuò)展點(diǎn)流程共建在建中通過擴(kuò)展點(diǎn)共建方式,將流程編排的能力,暴露給內(nèi)外部的開發(fā)者,完成任務(wù)中心的共建。 一、聊聊本文想說什么: ??為更好幫助商家的會(huì)員快速成長(zhǎng),保持用戶活性,完善用戶的成長(zhǎng)體系,有贊用戶中心-會(huì)員成長(zhǎng)團(tuán)隊(duì)基于現(xiàn)有的業(yè)務(wù)場(chǎng)景,設(shè)計(jì)了一套較完備任務(wù)中心系統(tǒng)。同時(shí)也有很多通用技術(shù)組件能夠落地。...

    null1145 評(píng)論0 收藏0
  • Apollo源碼分析(一):Apollo簡(jiǎn)介 & 架構(gòu)演進(jìn)

    摘要:零為何要學(xué)源碼簡(jiǎn)單,是我現(xiàn)在看起來最簡(jiǎn)單的源碼不會(huì)像封裝了一層又一層,把人繞暈,而沒有那么多封裝,上手快,我們學(xué)習(xí)就應(yīng)該從簡(jiǎn)單的開始憑什么非要去學(xué)封的像粽子一樣的源碼,我們就是要去學(xué)簡(jiǎn)簡(jiǎn)單單,平時(shí)樸素,接地氣的源碼最接近業(yè)務(wù)代碼的源碼。 零 為何要學(xué)apollo源碼 1 簡(jiǎn)單,Apollo是我現(xiàn)在看起來最簡(jiǎn)單的源碼不會(huì)像spring封裝了一層又一層,把人繞暈,而apollo沒有那么多封...

    FrancisSoung 評(píng)論0 收藏0
  • Sentinel Client: 整合Apollo規(guī)則持久化

    摘要:這樣做的方式是簡(jiǎn)單,缺點(diǎn)是無法及時(shí)獲取變更推模式規(guī)則中心統(tǒng)一推送,客戶端通過注冊(cè)監(jiān)聽器的方式時(shí)刻監(jiān)聽變化,比如使用等配置中心。 在前面的學(xué)習(xí)過程中,Sentinel 的規(guī)則,也就是我們之前定義的限流規(guī)則,是通過代碼的方式定義好的。這是初始化時(shí)需要做的事情,Sentinel 提供了基于API的方式修改規(guī)則: FlowRuleManager.loadRules(List rules); /...

    plus2047 評(píng)論0 收藏0
  • 2019 簡(jiǎn)易Web開發(fā)指南

    摘要:工具軟件欲先攻其事必先利其器,用好工具是做好開發(fā)的基礎(chǔ)??蚣苣壳白盍餍泻?jiǎn)單易用,越來越多人用曾經(jīng)很流行,現(xiàn)在有點(diǎn)衰退狀態(tài)管理后端渲染開發(fā)工具依賴管理,應(yīng)用打包,任務(wù)管理,編輯器擴(kuò)展,,移動(dòng)端有了前端的知識(shí)后,我們還可以開發(fā)手機(jī)。 2019年即將到來,各位同學(xué)2018年辛苦了。 不管大家2018年過的怎么樣,2019年還是要繼續(xù)加油的! 在此我整理了個(gè)人認(rèn)為在2019仍是或者將成為主流的...

    vspiders 評(píng)論0 收藏0
  • 百度世界發(fā)布渡鴉新品,軟硬件結(jié)合更懂生活

    摘要:百度世界發(fā)布劃時(shí)代產(chǎn)品,軟硬件結(jié)合更懂智能生活月日,百度世界大會(huì)在北京盛大舉行。百度已與一汽集團(tuán)簽署戰(zhàn)略合作協(xié)議,共同推動(dòng)該項(xiàng)技術(shù)產(chǎn)品落地。渡鴉在會(huì)上同時(shí)公布了另外兩款即將面世的產(chǎn)品。 百度世界發(fā)布劃時(shí)代產(chǎn)品,軟硬件結(jié)合更懂智能生活 11 月 16 日,2017 百度世界大會(huì)在北京盛大舉行。百度在會(huì)上發(fā)布了手機(jī)百度 10.0 和全新人工智能硬件Raven H等軟硬件產(chǎn)品。百度董事長(zhǎng)兼首...

    trilever 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<