|
@@ -1,5 +1,5 @@
|
|
|
import os.path
|
|
import os.path
|
|
|
-import time
|
|
|
|
|
|
|
+import datetime
|
|
|
import json
|
|
import json
|
|
|
|
|
|
|
|
from constants import CUT_OUTPUT_PATH
|
|
from constants import CUT_OUTPUT_PATH
|
|
@@ -9,7 +9,9 @@ from rq.job import Job
|
|
|
from rq.decorators import job
|
|
from rq.decorators import job
|
|
|
from worker import conn,q
|
|
from worker import conn,q
|
|
|
from dateutil import tz
|
|
from dateutil import tz
|
|
|
|
|
+from db import db
|
|
|
|
|
|
|
|
|
|
+d = db()
|
|
|
job_key_list = []
|
|
job_key_list = []
|
|
|
date_fmt='%d/%m/%Y, %H:%M'
|
|
date_fmt='%d/%m/%Y, %H:%M'
|
|
|
|
|
|
|
@@ -36,11 +38,16 @@ def result(job_key):
|
|
|
def jobs():
|
|
def jobs():
|
|
|
ret = []
|
|
ret = []
|
|
|
for j in job_key_list:#q.jobs:
|
|
for j in job_key_list:#q.jobs:
|
|
|
- job = Job.fetch(j, connection=conn)
|
|
|
|
|
|
|
+ try:
|
|
|
|
|
+ job = Job.fetch(j, connection=conn)
|
|
|
|
|
+ except Exception as e:
|
|
|
|
|
+ job_key_list.remove(j)
|
|
|
|
|
+ print("%s deleted" % j)
|
|
|
out = job.meta
|
|
out = job.meta
|
|
|
out["id"]=j
|
|
out["id"]=j
|
|
|
out["eq"]=utctolocal(job.enqueued_at).strftime(date_fmt)
|
|
out["eq"]=utctolocal(job.enqueued_at).strftime(date_fmt)
|
|
|
out["finished"]=job.is_finished
|
|
out["finished"]=job.is_finished
|
|
|
|
|
+ out["result"]=job.result
|
|
|
ret.append(out)
|
|
ret.append(out)
|
|
|
return ret
|
|
return ret
|
|
|
|
|
|
|
@@ -64,6 +71,7 @@ def upload_video(title,thumb_path,video_path):
|
|
|
|
|
|
|
|
@job('default',connection=conn, timeout=360*2, result_ttl=360*2)
|
|
@job('default',connection=conn, timeout=360*2, result_ttl=360*2)
|
|
|
def cut_video(in_fname,start_time,end_time,out_fname):
|
|
def cut_video(in_fname,start_time,end_time,out_fname):
|
|
|
|
|
+ job_start = datetime.datetime.now()
|
|
|
if not os.path.isfile(in_fname):
|
|
if not os.path.isfile(in_fname):
|
|
|
return { "status":"error",
|
|
return { "status":"error",
|
|
|
"error": "El archivo %s no existe" % in_fname
|
|
"error": "El archivo %s no existe" % in_fname
|
|
@@ -89,6 +97,17 @@ def cut_video(in_fname,start_time,end_time,out_fname):
|
|
|
out = run_process(process)
|
|
out = run_process(process)
|
|
|
if out == "":
|
|
if out == "":
|
|
|
out = { "status": "Proceso finalizado" }
|
|
out = { "status": "Proceso finalizado" }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ job_end = datetime.datetime.now()
|
|
|
|
|
+ d.insert_processed({
|
|
|
|
|
+ 'job_start': job_start,
|
|
|
|
|
+ 'job_end': job_end,
|
|
|
|
|
+ 'start_time':start_time,
|
|
|
|
|
+ 'end_time': end_time,
|
|
|
|
|
+ 'in_fname': in_fname,
|
|
|
|
|
+ 'out_fname': out_fname
|
|
|
|
|
+ })
|
|
|
return out
|
|
return out
|
|
|
|
|
|
|
|
def run_process(process = None):
|
|
def run_process(process = None):
|