|
|
@@ -4,12 +4,18 @@ import json
|
|
|
import urllib
|
|
|
from db import db
|
|
|
from flask import Flask, abort, jsonify, request
|
|
|
+import time
|
|
|
+import tasks
|
|
|
+
|
|
|
+from rq import Queue
|
|
|
+from rq.job import Job
|
|
|
+from worker import conn
|
|
|
+q = Queue(connection=conn)
|
|
|
|
|
|
PORT = 8981
|
|
|
BASE_PATH="/back" #changes based on webserver
|
|
|
app = Flask(__name__)
|
|
|
|
|
|
-
|
|
|
@app.route(BASE_PATH + '/')
|
|
|
def index():
|
|
|
return "Hello world"
|
|
|
@@ -22,6 +28,28 @@ def raw_list():
|
|
|
}
|
|
|
return jsonify(ret)
|
|
|
|
|
|
+@app.route(BASE_PATH + '/job')
|
|
|
+def job():
|
|
|
+ job = q.enqueue_call(
|
|
|
+ func=tasks.long_job, args=("testarg",), result_ttl=5000
|
|
|
+ )
|
|
|
+ ret = {"id":job.get_id()}
|
|
|
+
|
|
|
+ return jsonify(ret)
|
|
|
+
|
|
|
+
|
|
|
+@app.route(BASE_PATH+"/results/<job_key>", methods=['GET'])
|
|
|
+def get_results(job_key):
|
|
|
+
|
|
|
+ print(job_key)
|
|
|
+ job = Job.fetch(job_key, connection=conn)
|
|
|
+
|
|
|
+ if job.is_finished:
|
|
|
+ return str(job.result), 200
|
|
|
+ else:
|
|
|
+ return "Nay! %s" % job.meta.get('progress') , 202
|
|
|
+
|
|
|
+
|
|
|
@app.route(BASE_PATH + '/cut')
|
|
|
def cut_list():
|
|
|
ret=[]
|
|
|
@@ -33,5 +61,6 @@ def uploaded_list():
|
|
|
return jsonify(ret)
|
|
|
|
|
|
|
|
|
+
|
|
|
if __name__ == '__main__':
|
|
|
app.run(host="0.0.0.0",port=PORT, debug=True)
|