千家信息网

flask的扩展之信号量

发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,# pip install blinkerfrom blinker import signals = signal('信号量')def each(num): print("each
千家信息网最后更新 2025年01月29日flask的扩展之信号量
# pip install blinkerfrom blinker  import signals = 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 1each 2round 2each 3
#  或者简写成:from blinker import signals = signal("test start")@s.connectdef 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:在应用上下文销毁时发送,它总是被调用,即使发生异常。
0