tornado異步請求發(fā)送邏輯查找

環(huán)境配置

win10
pycharm64 5.0.3
python 3.6.7
tornado 5.1.1

代碼塊

    @staticmethod
    @gen.coroutine
    def send_req(req_obj, url="", params={}, body=None, method="GET", headers=None,
                 connect_timeout=None, request_timeout=None, max_clients=50):
        """
        異步HTTP接口調(diào)用封裝
        """
        url = url_concat(url, params)
        try:
            request = HTTPRequest(url, method=method, body=body, headers=None,
                                  connect_timeout=connect_timeout, request_timeout=request_timeout, validate_cert=False)
        except:
            req_obj.app_exception("get HTTPRequest exception")
            return None

        try:
            response = yield AsyncHTTPClient(max_clients=max_clients).fetch(request)  # HTTPResponse
        except:
            # req_obj.app_exception("AsyncHTTPClient exception")
            logging.exception("AsyncHTTPClient exception")
            return None

在yield AsyncHTTPClient(max_clients=max_clients).fetch(request)中會實例化AsyncHTTPClient令蛉,執(zhí)行fetch,返回一個future對象十电。后續(xù)也都會走runner = Runner(result, future, yielded)内边、future.add_done_callback(lambda _: runner)纯蛾。

上游添加一個接口服務(wù)节猿,加大接口的超時時間棠耕,打印接收到請求和請求完成的日志睛竣,tornado中起一個接口調(diào)用上述方法晰房,這樣就能夠比較方便的定位tornado發(fā)出請求的代碼位置。

最終定位的位置是

tornado/curl_httpclient.py
_handle_force_timeout
ret, num_handles = self._multi.socket_all() 此處進行的非阻塞請求
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末射沟,一起剝皮案震驚了整個濱河市殊者,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌验夯,老刑警劉巖猖吴,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挥转,居然都是意外死亡海蔽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門绑谣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來党窜,“玉大人,你說我怎么就攤上這事借宵』弦拢” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵壤玫,是天一觀的道長豁护。 經(jīng)常有香客問我哼凯,道長,這世上最難降的妖魔是什么楚里? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任断部,我火速辦了婚禮,結(jié)果婚禮上腻豌,老公的妹妹穿的比我還像新娘家坎。我一直安慰自己,他們只是感情好吝梅,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布虱疏。 她就那樣靜靜地躺著,像睡著了一般苏携。 火紅的嫁衣襯著肌膚如雪做瞪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天右冻,我揣著相機與錄音装蓬,去河邊找鬼。 笑死纱扭,一個胖子當(dāng)著我的面吹牛牍帚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乳蛾,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼暗赶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肃叶?” 一聲冷哼從身側(cè)響起蹂随,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎因惭,沒想到半個月后岳锁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蹦魔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年激率,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片版姑。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡柱搜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出剥险,到底是詐尸還是另有隱情聪蘸,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站健爬,受9級特大地震影響控乾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜娜遵,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一蜕衡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧设拟,春花似錦慨仿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至跑慕,卻和暖如春万皿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背核行。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工牢硅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芝雪。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓减余,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惩系。 傳聞我的和親對象是個殘疾皇子佳励,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 原創(chuàng)文章出自公眾號:「碼農(nóng)富哥」,如需轉(zhuǎn)載請請注明出處蛆挫!文章如果對你有收獲,可以收藏轉(zhuǎn)發(fā)妙黍,這會給我一個大大鼓勵喲悴侵!...
    大富帥閱讀 9,904評論 3 21
  • Tornado 所謂的異步:就是你調(diào)用我之后,我發(fā)現(xiàn)數(shù)據(jù)沒準備好拭嫁,那我就不處理可免,而是跳到程序的其他地方繼續(xù)執(zhí)行,等...
    OMSobliga閱讀 6,097評論 3 11
  • 1.前言 我一直以為做粤,一個IT技術(shù)人員浇借,重要的不是知道多少語言,新語法或者新框架怕品,而是遇到問題分析問題的能力妇垢。而分...
    東植George閱讀 8,903評論 0 3
  • (這篇文章主要寫一下在tornado項目中寫異步代碼,但是對源碼理解不了,寫給自己看) 當(dāng)初做項目的時候,我選擇了...
    lpj24閱讀 1,298評論 0 8
  • 索引 01-簡介 02-Web框架 03-協(xié)程與異步示例 04-淺析源碼 => 05-異步客戶端 06-WebSo...
    simplue閱讀 1,840評論 0 1