[英]How to us an arg given to Flask app.config inside a route function?
我的 webapp 从一个函数内部运行,因为我与其他函数多线程(只有 1 个烧瓶实例),我的问题是: A. 将队列传递到应用程序的最佳方法是什么? B、当通过时,如何在特定路由内部使用Queue?
这是到目前为止编写的代码的相关部分,当向“/parser”发出请求时,它给出错误“全局名称‘队列’未定义”。
app = Flask(__name__)
q = Queue()
app.config['queue'] = q;
@app.route('/parser')
def Parser():
arg = request.args.get('arg') #if key doesn't exist, returns None
queue.put(arg)
def Run():
app.run(debug=False, host='0.0.0.0')
if __name__ == '__main__':
q = Queue()
app.config['queue'] = q;
thread = Thread(target = Run)
thread.start()
提前致谢 :)
编辑:添加了一个可能有帮助的代码示例
from flask import Flask
from threading import Thread
from queue import Queue
app = Flask(__name__)
q = Queue()
app.config['queue'] = q;
app.config['test'] = 'testing';
@app.route('/insert/<var>')
def Insert(var):
q = app.config['queue']
q.put(var)
return "Ok"
@app.route('/pop')
def Get():
q = app.config['queue']
return q.get()
def Run():
app.run(debug=False, host='0.0.0.0')
if __name__ == '__main__':
thread = Thread(target = Run)
thread.start()
我很确定烧瓶不支持在多个线程中运行相同的应用程序实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.