flask的扩展之信号量

# 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:在应用上下文销毁时发送,它总是被调用,即使发生异常。

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/192380.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论