python - RuntimeError:烧瓶中的线程中没有当前事件循环?
问题描述
为什么我在运行代码时收到此错误?
实际上,我想在启动烧瓶应用程序时运行 autoreminder.py,并且 autoreminder.py 应该在每 10 秒后在后台调用一次
自动提醒.py
import asyncio
import aiohttp
from database import DBHelper
MESSAGE_TO_SEND = 'Please Complete Your Task'
ACCESS_TOKEN = access_token
db = DBHelper()
async def taskReminder(memberID):
data = {
"recipient": { "id": memberID },
"message": { "text": MESSAGE_TO_SEND }
}
async with aiohttp.ClientSession() as session:
async with session.post("https://graph.facebook.com/v8.0/me/messages?access_token="+ ACCESS_TOKEN, json=data) as response:
return await response.text()
def main():
loop = asyncio.get_event_loop()
Members = db.loadMembersNotCompletedTask()
coroutines = [taskReminder(''.join(member)) for member in Members]
loop.run_until_complete(asyncio.gather(*coroutines))
loop.close()
应用程序.py
from flask import Flask, request,render_template
from apscheduler.schedulers.background import BackgroundScheduler
from autoreminder import main
app = Flask(__name__)
scheduler = BackgroundScheduler()
job = scheduler.add_job(main, 'interval', seconds=10)
scheduler.start()
# Starting app
if __name__ == "__main__":
app.run(threaded=True)
错误
RuntimeError:线程“ThreadPoolExecutor-0_0”中没有当前事件循环。
解决方案
推荐阅读
- python-3.x - 导入熊猫时出错。ImportError: 无法导入名称 'Timestamp' 。
- python - 如何让 Python 中的线程等待?
- android-studio - Flutter:调试集成测试
- r - 使用 R 中的插入符号包绘制具有交叉验证的多类分类的学习曲线
- groovy - 如何使用 Ant Build 脚本打包 Groovy 类或 Groovy 项目?
- javascript - 在我的 fish / cygwin shell 上使用 Node.js
- c++ - 在 c++ 中给出意外输出的简单代码
- java - Java中的值匹配和降维
- android - 旋转视频 - 无法为输出文件 #0 写入标头(编解码器参数不正确?)
- node.js - Socket.io 在 https://domain 上建立连接,但在 https://domain/route 上没有建立任何连接