使用Python线程将错误推送到Slack模式
我曾经处理过松弛模式视图并将错误推到一个视图中,但在Python线程中执行同样的操作时遇到了问题。我的代码看起来是这样的使用Python线程将错误推送到Slack模式,python,multithreading,flask,slack,slack-api,Python,Multithreading,Flask,Slack,Slack Api,我曾经处理过松弛模式视图并将错误推到一个视图中,但在Python线程中执行同样的操作时遇到了问题。我的代码看起来是这样的 if submission_callback_id == "custom_callback": def custom_callback_thread(app): with app.app_context(): .....Get some data..... some_info = *data
if submission_callback_id == "custom_callback":
def custom_callback_thread(app):
with app.app_context():
.....Get some data.....
some_info = *data from payload*
if some_info == None:
view = {
"response_action": "errors",
"errors": {
"custom-block-id": "The info provided is not valid."
}
}
return json.jsonify(view)
else:
response = [
*Some response for the user if everything is valid
]
slack_client.chat_postMessage(
channel
blocks=response
)
sys.exit()
threading.Thread(target=custom_callback_thread, args=(current_app._get_current_object(),)).start()
return make_response("", 200)
我使用Flask的当前应用程序导入成功地传入了应用程序上下文,然后将当前应用程序传递给线程参数。然后使用app.appcontext()
但是每当某些信息
无效时。代码进入if语句yes,但是错误永远不会显示,模态只是关闭,什么也没有发生
我试着把线拔掉,效果很好。但是有很多背景代码需要运行(为了简短起见,我省略了它),这使得提交速度很慢,以至于有时会超时;因此,为什么我想在这里使用一个线程,这样提交就不会花费它想要的时间
关于可能出现的问题,有什么帮助或建议吗?或者是另一种选择