|
|
@@ -7,10 +7,10 @@ import tasks
|
|
|
from db import db
|
|
|
from flask import Flask, jsonify, request
|
|
|
from rq import Queue
|
|
|
-from rq.job import Job
|
|
|
-from worker import conn
|
|
|
+
|
|
|
app = Flask(__name__)
|
|
|
d=db()
|
|
|
+
|
|
|
@app.route(BASE_PATH + '/')
|
|
|
def index():
|
|
|
return "Hello world"
|
|
|
@@ -23,22 +23,37 @@ def raw_list():
|
|
|
@app.route(BASE_PATH + '/raw/<video_id>')
|
|
|
def raw_file(video_id):
|
|
|
ret=d.raw(video_id)
|
|
|
- ret["file"]=ret["file"].split("front")[1] #FIXME
|
|
|
+ ret["file"]=ret["file"].split("front")[1] #FIXME, path relativo al webserver
|
|
|
return jsonify(ret)
|
|
|
|
|
|
@app.route(BASE_PATH + '/cut/', methods=["POST"])
|
|
|
def cut():
|
|
|
ret={"status":"Procesando"}
|
|
|
+ today=datetime.date.today()
|
|
|
data = request.get_json()
|
|
|
video=d.raw(data["id"])
|
|
|
- out_filename="%s_%s_%s.mp4" % (data["curso"], datetime.date.today().strftime('%Y%m%d'), data["desc"])
|
|
|
- job = tasks.cut_video.delay(video["file"],data["inicio"],data["fin"],out_filename)
|
|
|
+
|
|
|
+ out_filename="%s_%s_%s.mp4" % (data["curso"],
|
|
|
+ today.strftime('%Y%m%d'),
|
|
|
+ data["desc"])
|
|
|
+
|
|
|
+ job = tasks.cut_video.delay(video["file"],
|
|
|
+ str(data["inicio"]),
|
|
|
+ str(data["fin"]),
|
|
|
+ out_filename)
|
|
|
ret["job_id"]=job.get_id()
|
|
|
return jsonify(ret)
|
|
|
|
|
|
+@app.route(BASE_PATH + '/jobs/')
|
|
|
+def jobs():
|
|
|
+ working = tasks.jobs()
|
|
|
+ finished = d.getJobs()
|
|
|
+ return json.dumps({"working":working, "finished":finished})
|
|
|
+
|
|
|
@app.route(BASE_PATH + '/job')
|
|
|
def job():
|
|
|
-# job = tasks.long_job.delay("test")
|
|
|
+ job = tasks.jobrunner(tasks.long_job, ("test",))
|
|
|
+ #job = tasks.long_job.delay("test")
|
|
|
# job = tasks.upload_video.delay("titulo","/home/david/photo_2016-07-10_13-49-56.jpg","/home/david/movie-1467033043.flv")
|
|
|
|
|
|
ret = {"id":job.get_id()}
|
|
|
@@ -48,18 +63,12 @@ def job():
|
|
|
|
|
|
@app.route(BASE_PATH+"/results/<job_key>", methods=['GET'])
|
|
|
def get_results(job_key):
|
|
|
-
|
|
|
- print(job_key)
|
|
|
try:
|
|
|
- job = Job.fetch(job_key, connection=conn)
|
|
|
- except:
|
|
|
+ ret=tasks.result(job_key)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
return "Error. Probablemente job_key es invalido", 400
|
|
|
-
|
|
|
-
|
|
|
- if job.is_finished:
|
|
|
- return "Result: %s" % str(job.result), 200
|
|
|
- else:
|
|
|
- return "Process: %s" % json.dumps(job.meta) , 202
|
|
|
+ return ret
|
|
|
|
|
|
|
|
|
@app.route(BASE_PATH + '/uploaded')
|