1. 程式人生 > >flask的擴展之信號量

flask的擴展之信號量

signal art 發生 pip started exec red emp all

# pip install blinker from blinker import signal s = signal(‘信號量‘) def each(num): print("each {}".format(num)) def full_singal(num): print("full_time {}".format(num)) s.connect(each) s.connect(full_singal, sender = 2) for num in range(1, 4): s.send(num)

結果如下:

each 1
each 2
round 2
each 3
#  或者簡寫成:

from blinker import signal

s = signal("test start")

@s.connect
def each(round)
    print("each {}".format(round))
Flask中內置信號:
flask.template_rendered:模板渲染成功的時候發送,這個信號與模板實例template上下文的字典一起調用。
flask.request_started:建立請求上下文後,在請求處理開始前發送,訂閱者可以用request之類的標準代理訪問請求。
flask.request_finished:在響應發送給客戶端之前發送,可以傳遞reponse。
flask.got_request_exception:在請求處理中拋出異常時發送,異常本身會通過execption傳遞到訂閱函數。
flask.request_tearing_down:在請求銷毀時發送,它總是被調用,即使發生異常。
flask.appcontext_tearing_down:在應用上下文銷毀時發送,它總是被調用,即使發生異常。

flask的擴展之信號量