0
我想知道是否可以用blinker库(或者可能用任何库)来完成这些工作。Python - 我可以使用闪烁库来达到这个目的吗?
- 我运行使用烧瓶内的web应用程序和该应用程序(也许
app.py
)内,我定义名为更新(例如blinker.signal('updated')
)的信号。 - 在一个单独的过程中,我连接(订阅)任何功能(我将它称为
subscriber
)到更新的信号。这个过程像一个守护进程一样永远运行。 - 每当在网络端发生更新,我想调用
subscriber
函数。
所以我写了一些代码:
app.py(瓶应用程序)
from flask import Flask
from blinker import signal
app = Flask(__name__)
updated = signal('updated')
@app.route('/update')
def update():
updated.send('nothing')
return 'Updated!'
background.py
import time
from app import updated
@updated.connect
def subscriber(*args, **kwargs):
print('An update occurred on the web side!')
while True:
print('Waiting for signals...')
time.sleep(1)
奔着与Web应用程序flask run
命令。现在当我访问localhost:5000/update
时,我可以在浏览器中看到Updated!
消息,但从其他进程看不到消息An update occurred on the web side!
。
我的方法错了吗?如果是这样,我该怎么做这样的工作?等待你的答案,谢谢。
啊,我错过了这个描述。感谢您的明确答复和良好的建议! – hallazzang