首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask RuntimeError:在应用程序上下文之外工作

Flask RuntimeError:在应用程序上下文之外工作
EN

Stack Overflow用户
提问于 2018-02-08 01:12:22
回答 1查看 399关注 0票数 0

我想用websocket运行我的Flask应用程序。只要我开始我的细木工类(作为线程运行),然后想要注册一个回调函数,一切似乎都是正常的。这在flask开发服务器上运行良好。由于我的英语不是很好,我在理解Flask的上下文问题时遇到了问题。如有任何帮助,将不胜感激

代码语言:javascript
复制
@socketio.on('change_R8', namespace='/fl')
def change_Relay8(R8_stat):
    if R8_stat == 'on':
        #print("Relay 8 on")
        ui.set_relay(8,1,0)
    elif R8_stat == 'off':
        #print("Relay 8 off")
        ui.set_relay(8,0,0) 

# Listen for SocketIO event that will change analog output

@socketio.on('change_ao', namespace='/fl')
def change_ao(ao_value):
    #print("setze ao auf: ", ao_value)
    ui.set_ao(ao_value)         

#- call back function from UniPi_joiner_class----------------------------

def unipi_change(event, data):
    #print("Webserver in: ",event,data)
    emit_to_all_clients(event, data)

# main program ----------------------------------------------------------    

if __name__ == "__main__":
    log.text("Flask Web-Server gestartet")
    print("Flask Web-Server gestartet")
    joiner = unipi_joiner("10.0.0.52",0)
    joiner.on_unipi_change(unipi_change)
    socketio.run(app, host='127.0.0.1', use_reloader=False, debug=False)
    log.text("Flask Web-Server beendet")    
EN

回答 1

Stack Overflow用户

发布于 2018-02-08 22:26:01

joiner函数以event,data(json)格式从传感器传递数据,我通过广播将其发送到我的网站。数据来自两个不同的来源(时间相关),并使用队列在joiner函数中连接在一起。这在Flask开发服务器上运行良好。当我使用eventlet时,joiner.on_unipi_change(unipi_change)无法工作,并显示上下文错误。我用flask中的数据测试了服务器,它工作正常。

问:能否通过websocket将传感器数据传送到我的Flask服务器,然后从flask服务器传送到我的网站。这将是非常有趣的,因为我将有不同的Raspi 3收集数据并将其发送到我的web服务器。

关于完整的堆栈跟踪,我需要一些指导(对不起,Flask初学者)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48669586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档