美文网首页
blinker信号

blinker信号

作者: huashen_9126 | 来源:发表于2020-04-08 23:42 被阅读0次

安装

pip install blinker

订阅信号connect

from blinker import signal

def subscriber(sender):
    print("Got a signal sent by %r" % sender)

ready = signal('ready')
ready.connect(subscriber)

触发信号send

from blinker import signal

def subscriber(sender):
    print("Got a signal sent by %r" % sender)

def b_subscriber(sender):
    print("Caught signal from processor_b.")
    assert sender.name == 'b'

ready = signal('ready')
ready.connect(subscriber)


class Processor:
   def __init__(self, name):
       self.name = name

   def go(self):
       ready = signal('ready')
       ready.send(self)
       print("Processing.")
       complete = signal('complete')
       complete.send(self)

   def __repr__(self):
       return '<Processor %s>' % self.name

processor_a = Processor('a')
processor_b = Processor('b')
#订阅特定的发布者
ready.connect(b_subscriber, sender=processor_b)
processor_a.go()
print('------------------------')
processor_b.go()
#结果:
Got a signal sent by <Processor a>
Processing.
------------------------
Got a signal sent by <Processor b>
Caught signal from processor_b.
Processing.

通过信号收发数据+使用装饰器订阅信号

from blinker import signal

send_data = signal('send-data')

@send_data.connect
def receive_data(sender, **kw):
    print("Caught signal from %r, data %r" % (sender, kw))
    return 'received!'

result = send_data.send('anonymous', abc=123)
#结果:
Caught signal from 'anonymous', data {'abc': 123}

参考:https://www.jianshu.com/p/d2f2cfd1b140

相关文章

  • blinker信号

    安装 订阅信号connect 触发信号send 通过信号收发数据+使用装饰器订阅信号 参考:https://www...

  • python blinker库学习

    参考 Blinker Documentation Blinker 是一个基于Python的强大的信号库,它既支持...

  • 7.1 flask 信号

    flask信号: 安装:flask中的信号使用的是一个第三方插件,叫做blinker。通过pip list看一下,...

  • 基于Python的信号库 Blinker

    环境 Python 3.6.4 简介 Blinker是一个基于Python的强大的信号库,支持一对一、一对多的订阅...

  • flask-信号

    Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为。 使用方法...

  • blinker

    文档网址:https://blinker-iot.com/

  • 三分钟实现手机控制Arduino/esp8266/esp32

    blinker是什么? blinker是一个物联网接入方案,旨在让大家可以轻松畅快地DIY物联网设备。 其由服务器...

  • Arduino物联网开发实例教程

    ## blinker解决方案 blinker是一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支...

  • Arduino Esp8266 Nodemcu Blinker物

    flower care sys 基于arduino Nodemcu Blinker的物联网植物养护系统 代码移步我...

  • Domoticz 连接 树莓派 和 天猫精灵

    0x00 起因 目前使用的 ESP8266 + blinker + 天猫精灵 + 433M 模块控制客厅的灯, 总...

网友评论

      本文标题:blinker信号

      本文链接:https://www.haomeiwen.com/subject/hdbbphtx.html