|
|
@@ -1,6 +1,7 @@
|
|
|
from hashlib import new
|
|
|
import random
|
|
|
-import uuid, json, logging
|
|
|
+import logging
|
|
|
+import uuid, json
|
|
|
from config import MYSQL_URI
|
|
|
# from service.video.Video3DAnalyzer import Video3DAnalyzer
|
|
|
from db import db
|
|
|
@@ -16,52 +17,21 @@ from sqlalchemy import create_engine
|
|
|
bp = Blueprint("analyze", __name__, url_prefix='/')
|
|
|
|
|
|
def callback_generator(task_uuid):
|
|
|
- def callback(status, **args):
|
|
|
+ def callback(status, **kwargs):
|
|
|
try:
|
|
|
- # you can now use some_session to run multiple queries, etc.
|
|
|
- # remember to close it when you're finished!
|
|
|
from app import app
|
|
|
with app.app_context():
|
|
|
- # from sqlalchemy.orm import scoped_session
|
|
|
- # from sqlalchemy.orm import sessionmaker
|
|
|
-
|
|
|
-
|
|
|
- # engine = create_engine(
|
|
|
- # url=MYSQL_URI,
|
|
|
- # pool_size=5, # default in SQLAlchemy
|
|
|
- # max_overflow=10, # default in SQLAlchemy
|
|
|
- # pool_timeout=1, # raise an error faster than default
|
|
|
- # )
|
|
|
-
|
|
|
- # session_factory = sessionmaker(bind=engine)
|
|
|
- # # Session = scoped_session(session_factory)
|
|
|
-
|
|
|
- # # now all calls to Session() will create a thread-local session
|
|
|
- # some_session = session_factory()
|
|
|
- # logging.error("calling back" + status)
|
|
|
- # logging.error("get" + task_uuid)
|
|
|
-
|
|
|
-
|
|
|
- # new_task = Task(str(random.randint(0, 100000000)), "PHOTO_STANDINGPOSE", status=status)
|
|
|
- # some_session.add(new_task)
|
|
|
- # some_session.commit()
|
|
|
- # print("fk")
|
|
|
-
|
|
|
-
|
|
|
- # task = some_session.query(Task).get(task_uuid)
|
|
|
task = Task.query.get(task_uuid)
|
|
|
-
|
|
|
- logging.error(task.status)
|
|
|
task.status = status
|
|
|
if status == 'FINISHED':
|
|
|
- task.result = json.dumps(args['result'])
|
|
|
+ task.result = json.dumps(kwargs['result'])
|
|
|
+ if status == 'ERROR':
|
|
|
+ logging.error("error analyzing: ", exc_info=kwargs['error'])
|
|
|
|
|
|
db.session.commit()
|
|
|
- # some_session.commit()
|
|
|
- logging.error("commited")
|
|
|
+ logging.trace("calling to" + status)
|
|
|
except Exception as e:
|
|
|
- logging.exception("nmsl", exc_info=e)
|
|
|
-
|
|
|
+ logging.debug("nmsl", exc_info=e)
|
|
|
return callback
|
|
|
|
|
|
|