web.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/usr/bin/env python3
  2. import datetime
  3. import json
  4. import urllib
  5. from db import db
  6. from flask import Flask, abort, jsonify, request
  7. import time
  8. import tasks
  9. from rq import Queue
  10. from rq.job import Job
  11. from worker import conn
  12. q = Queue(connection=conn)
  13. PORT = 8981
  14. BASE_PATH="/back" #changes based on webserver
  15. app = Flask(__name__)
  16. @app.route(BASE_PATH + '/')
  17. def index():
  18. return "Hello world"
  19. @app.route(BASE_PATH + '/raw')
  20. def raw_list():
  21. ret={'list':
  22. [{'file':'movie-1231547519.flv', 'length':'1:14:32', 'date': "2016,7,13"},
  23. {'file':'movie-1231111111.flv', 'length':'0:14:32', 'date': "2016-7-12"} ]
  24. }
  25. return jsonify(ret)
  26. @app.route(BASE_PATH + '/job')
  27. def job():
  28. job = q.enqueue_call(
  29. func=tasks.long_job, args=("testarg",), result_ttl=5000
  30. )
  31. ret = {"id":job.get_id()}
  32. return jsonify(ret)
  33. @app.route(BASE_PATH+"/results/<job_key>", methods=['GET'])
  34. def get_results(job_key):
  35. print(job_key)
  36. job = Job.fetch(job_key, connection=conn)
  37. if job.is_finished:
  38. return str(job.result), 200
  39. else:
  40. return "Nay! %s" % job.meta.get('progress') , 202
  41. @app.route(BASE_PATH + '/cut')
  42. def cut_list():
  43. ret=[]
  44. return jsonify(ret)
  45. @app.route(BASE_PATH + '/uploaded')
  46. def uploaded_list():
  47. ret=[]
  48. return jsonify(ret)
  49. if __name__ == '__main__':
  50. app.run(host="0.0.0.0",port=PORT, debug=True)