flask的擴展之信號量
阿新 • • 發佈:2018-09-08
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的擴展之信號量