与主应用程序并行运行Flask服务器

Eup*_*phe 1 python flask

我有一个关于河内塔楼的简单游戏,该塔楼目前在航站楼上运行。它允许玩家输入自己的回合终端,并向终端输出可视化图像。

我的任务是制作一个flask应用程序,该应用程序将打开一个html页面,其中JS脚本将轮询服务器以获取有关游戏的信息,并将可视化效果从终端到网页加倍。

我的问题是游戏和烧瓶都有主循环,如果我随后运行它们,它们将无法并行运行。

因此,我需要游戏在终端中运行,而玩家需要在终端中轮流运行,但是我需要Web服务器来获取游戏状态并进行显示。

我的问题:我该怎么用?多处理线程?

说我有烧瓶的景色

from game import game

@app.route('/get_updates')
def get_updates():
   return flask.jsonify(game.instance().board)
Run Code Online (Sandbox Code Playgroud)

如果flask和游戏在单独的线程中运行,它将如何工作?如何从另一个线程获取游戏对象?

Ale*_*nov 5

在不同线程中运行游戏可能会更好?

import threading
import time
from flask import Flask, render_template

class myGame(threading.Thread):
    def __init__(self, threadID, name, counter):
        threading.Thread.__init__(self)
        self.board = 1

    def run(self):
        pass


app = Flask(__name__)
game = myGame()

@app.route('/get_updates') 
def get_updates(): 
    return flask.jsonify(game.board)

if __name__ == "__main__":
    game.start()
    app.run(port=81, host='0.0.0.0', debug=False, use_reloader=False)
Run Code Online (Sandbox Code Playgroud)