Commit 884f0c85 authored by Kento HASEGAWA's avatar Kento HASEGAWA

Use req_id in client

parent 60fbf844
...@@ -21,7 +21,6 @@ import adc2018solver as pynqrouter ...@@ -21,7 +21,6 @@ import adc2018solver as pynqrouter
app = Flask(__name__) app = Flask(__name__)
args = {} args = {}
# pynq_thread = None
client_baseurl = "" client_baseurl = ""
@app.route('/start', methods=["POST"]) @app.route('/start', methods=["POST"])
...@@ -43,9 +42,15 @@ def start(): ...@@ -43,9 +42,15 @@ def start():
qstr = request.form["question"] qstr = request.form["question"]
qname = request.form["qname"] qname = request.form["qname"]
qseed = request.form["qseed"] qseed = request.form["qseed"]
req_id = request.form["req_id"]
boardstr = BoardStr.conv_boardstr(qstr.split('\n'), 'random', int(qseed)) boardstr = BoardStr.conv_boardstr(qstr.split('\n'), 'random', int(qseed))
option = {"name": qname, "host": args['host'], "client": client_baseurl} option = {
"name": qname,
"host": args['host'],
"client": client_baseurl,
"req_id": req_id
}
pynqrouter.start_solver(boardstr, qseed, option) pynqrouter.start_solver(boardstr, qseed, option)
# pynq_thread = pynqrouter.start_solver(boardstr, qseed, option) # pynq_thread = pynqrouter.start_solver(boardstr, qseed, option)
...@@ -64,8 +69,6 @@ def start(): ...@@ -64,8 +69,6 @@ def start():
@app.route('/stop') @app.route('/stop')
def stop(): def stop():
# global pynq_thread
if pynqrouter.solver_thread is None: if pynqrouter.solver_thread is None:
ans = {"status": "No threads"} ans = {"status": "No threads"}
else: else:
...@@ -73,15 +76,11 @@ def stop(): ...@@ -73,15 +76,11 @@ def stop():
pynqrouter.stop_solver() pynqrouter.stop_solver()
ans = {"status": "Stopped"} ans = {"status": "Stopped"}
# pynq_thread = None
return json.dumps(ans) return json.dumps(ans)
@app.route("/status") @app.route("/status")
def status(): def status():
# global pynq_thread
res_mes = "" res_mes = ""
if pynqrouter.solver_thread is None: if pynqrouter.solver_thread is None:
...@@ -121,3 +120,4 @@ if __name__ == "__main__": ...@@ -121,3 +120,4 @@ if __name__ == "__main__":
if args["debug"]: if args["debug"]:
app.debug = True app.debug = True
app.run(host='0.0.0.0', port=args["port"], threaded=True) app.run(host='0.0.0.0', port=args["port"], threaded=True)
...@@ -154,11 +154,19 @@ def solve(boardstr, seed=12345, zero_padding=False, option=dict()): ...@@ -154,11 +154,19 @@ def solve(boardstr, seed=12345, zero_padding=False, option=dict()):
# 解けなかったらLEDを消す # 解けなかったらLEDを消す
mmio_led.write(0, 0) mmio_led.write(0, 0)
sys.stderr.write('Cannot solve it!\n') sys.stderr.write('Cannot solve it!\n')
res = {'client': option['client'], 'qname': option['name'], 'answer': '', 'cputime': -1} res = {
'client': option['client'],
'qname': option['name'],
'solution': '',
'cputime': -1.0,
'req_id': option['req_id'],
'solved': False
}
if "host" in option: if "host" in option:
requests.post("http://{}/post".format(option['host']), data=res) requests.post("http://{}/post".format(option['host']), data=res)
solver_thread = None solver_thread = None
return { 'solved': False, 'solution': '', 'elapsed': -1.0 } return res
print('Solved!') print('Solved!')
# 解けたらLEDを全部つける # 解けたらLEDを全部つける
...@@ -187,11 +195,20 @@ def solve(boardstr, seed=12345, zero_padding=False, option=dict()): ...@@ -187,11 +195,20 @@ def solve(boardstr, seed=12345, zero_padding=False, option=dict()):
if solver_thread is not None: if solver_thread is not None:
solver_thread.stopped() solver_thread.stopped()
res = {'client': option['client'], 'qname': option['name'], 'answer': solution, 'cputime': elapsed}
res = {
'client': option['client'],
'qname': option['name'],
'solution': solution,
'cputime': elapsed,
'req_id': option['req_id'],
'solved': True
}
if "host" in option: if "host" in option:
r = requests.post("http://{}/post".format(option['host']), data=res) r = requests.post("http://{}/post".format(option['host']), data=res)
solver_thread = None solver_thread = None
return { 'solved': True, 'solution': solution, 'elapsed': elapsed }
return res
def main(): def main():
parser = argparse.ArgumentParser(description="Solver with pynqrouter") parser = argparse.ArgumentParser(description="Solver with pynqrouter")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment