taslim19 commited on
Commit
41a9d86
·
1 Parent(s): dc005eb

Fix asyncio event loop conflict between bot and web server

Browse files
Files changed (1) hide show
  1. OneApi/__main__.py +16 -8
OneApi/__main__.py CHANGED
@@ -38,12 +38,20 @@ app = cors(app, allow_origin="*")
38
  async def home():
39
  return jsonify({'success': 'server online'}), 200
40
 
41
- async def main():
42
- # Start the bot
43
- await start_bot()
44
-
45
- # Start the web server
46
- await app.run_task(host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))
47
-
48
  if __name__ == '__main__':
49
- asyncio.run(main())
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  async def home():
39
  return jsonify({'success': 'server online'}), 200
40
 
 
 
 
 
 
 
 
41
  if __name__ == '__main__':
42
+ # Start the bot in a separate thread
43
+ import threading
44
+ import asyncio
45
+
46
+ def run_bot():
47
+ loop = asyncio.new_event_loop()
48
+ asyncio.set_event_loop(loop)
49
+ loop.run_until_complete(start_bot())
50
+ loop.run_forever()
51
+
52
+ # Start bot in background thread
53
+ bot_thread = threading.Thread(target=run_bot, daemon=True)
54
+ bot_thread.start()
55
+
56
+ # Start the web server in main thread
57
+ app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))