亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

WSGI server - Gunicorn worker調(diào)度--timeout問(wèn)題分析

xiaodao / 4184人閱讀

摘要:前一段時(shí)間遇到一個(gè)問(wèn)題,在啟動(dòng)之后一直報(bào)的錯(cuò)誤,并且一直不斷地重啟。先說(shuō)一下配置,我們采用的是,數(shù)據(jù)庫(kù)連接采用的。

前一段時(shí)間遇到一個(gè)問(wèn)題,gunicorn在啟動(dòng)之后worker一直報(bào)timeout的錯(cuò)誤,并且一直不斷地重啟。開(kāi)始以為是worker內(nèi)部遇到什么錯(cuò)誤才導(dǎo)致gunicorn不斷地重啟worker。
先說(shuō)一下配置,worker_class我們采用的是gevent,數(shù)據(jù)庫(kù)連接采用的mysql+sqlalchemy。因?yàn)樵赼pp啟動(dòng)時(shí)需要連接很多個(gè)數(shù)據(jù)庫(kù),遇到這個(gè)問(wèn)題就一直在糾結(jié)是不是程序的bug,數(shù)據(jù)庫(kù)連接太多會(huì)有問(wèn)題,但程序沒(méi)有任何日志打出來(lái)啊?。康菍⑦B接數(shù)據(jù)庫(kù)的數(shù)量改小一點(diǎn),就不會(huì)再出現(xiàn)worker重啟的現(xiàn)象了。為什么數(shù)據(jù)庫(kù)連接數(shù)變小就不會(huì)timeout了呢?是不是master覺(jué)得worker的啟動(dòng)時(shí)間太長(zhǎng)了,過(guò)了一定時(shí)間就直接干掉并重啟?后來(lái)將配置中的timeout改大,數(shù)據(jù)庫(kù)連接數(shù)改為原來(lái)的值,問(wèn)題解決!

為什么會(huì)這樣?
看gunicorn源碼:
    def run(self):
        servers = []
        ssl_args = {}

        if self.cfg.is_ssl:
            ssl_args = dict(server_side=True, **self.cfg.ssl_options)

        for s in self.sockets:
            s.setblocking(1)
            pool = Pool(self.worker_connections)
            if self.server_class is not None:
                environ = base_environ(self.cfg)
                environ.update({
                    "wsgi.multithread": True,
                    "SERVER_SOFTWARE": VERSION,
                })
                **server = self.server_class(
                    s, application=self.wsgi, spawn=pool, log=self.log,
                    handler_class=self.wsgi_handler, environ=environ,
                    **ssl_args)**
            else:
                hfun = partial(self.handle, s)
                server = StreamServer(s, handle=hfun, spawn=pool, **ssl_args)

            server.start()
            servers.append(server)

        while self.alive:
            **self.notify()**
            gevent.sleep(1.0)

重點(diǎn)在server初始化的過(guò)程中,由于數(shù)據(jù)庫(kù)連接數(shù)量過(guò)多,這里耗費(fèi)時(shí)間過(guò)久,self.notify在timeout時(shí)間內(nèi)一直沒(méi)有執(zhí)行,導(dǎo)致主進(jìn)程master在timeout時(shí)間過(guò)后立即回收并重啟worker進(jìn)程,所以會(huì)導(dǎo)致上面的問(wèn)題。

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

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

相關(guān)文章

  • Python Web開(kāi)發(fā)最難懂的WSGI協(xié)議,到底包含哪些內(nèi)容?

    摘要:通過(guò)回調(diào)函數(shù)將響應(yīng)狀態(tài)和響應(yīng)頭返回給,同時(shí)返回響應(yīng)正文,響應(yīng)正文是可迭代的并包含了多個(gè)字符串。返回響應(yīng)正文負(fù)責(zé)獲取請(qǐng)求,將請(qǐng)求傳遞給,由處理請(qǐng)求后返回。 我想大部分Python開(kāi)發(fā)者最先接觸到的方向是WEB方向(因?yàn)榭偸怯虚_(kāi)發(fā)者希望馬上給自己做個(gè)博客出來(lái),例如我),既然是WEB,免不了接觸到一些WEB框架,例如Django,Flask,Torando等等,在開(kāi)發(fā)過(guò)程中,看過(guò)一些文檔總會(huì)...

    atinosun 評(píng)論0 收藏0
  • CentOS 下使用 Pipenv + Gunicorn + Supervisor 部署 Flask

    摘要:根據(jù)中華人民共和國(guó)信息產(chǎn)業(yè)部第十二次部務(wù)會(huì)議審議通過(guò)的非經(jīng)營(yíng)性互聯(lián)網(wǎng)信息服務(wù)備案管理辦法精神,在中華人民共和國(guó)境內(nèi)提供非經(jīng)營(yíng)性互聯(lián)網(wǎng)信息服務(wù),應(yīng)當(dāng)辦理備案。未經(jīng)備案,不得在中華人民共和國(guó)境內(nèi)從事非經(jīng)營(yíng)性互聯(lián)網(wǎng)信息服務(wù)。 當(dāng)我們開(kāi)發(fā)了一個(gè)簡(jiǎn)單的 Flask 程序,想把項(xiàng)目部署上線,我們可以選擇傳統(tǒng)的部署方式或者云部署方式把項(xiàng)目部署上線。在本文中,筆者將使用 阿里云輕量應(yīng)用服務(wù)器 安裝 C...

    anyway 評(píng)論0 收藏0
  • Gunicron + gevent Mongodb數(shù)據(jù)庫(kù)連接一直增加不釋放

    摘要:解決過(guò)程關(guān)于什么是是一個(gè)上被廣泛使用的高性能的。和大多數(shù)的框架兼容,并具有實(shí)現(xiàn)簡(jiǎn)單,輕量級(jí),高性能等特點(diǎn)。為了解決這個(gè)問(wèn)題,在實(shí)例化對(duì)象的時(shí)候要加上參數(shù)。參考用來(lái),能否長(zhǎng)連接連接從未發(fā)布和在上使用 問(wèn)題描述 使用Flask開(kāi)發(fā)的Web服務(wù),部署在服務(wù)器上使用的是gunicorn manage:app -k gevent -w 4 某日告警,說(shuō)瀏覽器崩了,當(dāng)時(shí)急急忙忙的重啟,...

    Yujiaao 評(píng)論0 收藏0
  • Gunicron + gevent Mongodb數(shù)據(jù)庫(kù)連接一直增加不釋放

    摘要:解決過(guò)程關(guān)于什么是是一個(gè)上被廣泛使用的高性能的。和大多數(shù)的框架兼容,并具有實(shí)現(xiàn)簡(jiǎn)單,輕量級(jí),高性能等特點(diǎn)。為了解決這個(gè)問(wèn)題,在實(shí)例化對(duì)象的時(shí)候要加上參數(shù)。參考用來(lái),能否長(zhǎng)連接連接從未發(fā)布和在上使用 問(wèn)題描述 使用Flask開(kāi)發(fā)的Web服務(wù),部署在服務(wù)器上使用的是gunicorn manage:app -k gevent -w 4 某日告警,說(shuō)瀏覽器崩了,當(dāng)時(shí)急急忙忙的重啟,...

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

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

0條評(píng)論

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