189 8069 5689

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

当前题目:flask的扩展之信号量
文章源于:http://cdxtjz.cn/article/pcecgh.html

其他资讯