#!/usr/bin/env python3 # -*- coding: utf-8 -*- from datetime import datetime from sqlalchemy.orm import Session from utils import * from utils.redis_util import * from models import * from exceptions import * from database import get_db_local from extensions import logger import traceback import time from utils import hk_video_api def proc(): lock_key = "hkvideo_job_proc" if redis_lock(lock_key): logger.info(datetime.now()) db = get_db_local() refresh_hkvideo(db) db.close() redis_unlock(lock_key) def refresh_hkvideo(db: Session): rows = db.query(VideoJob).order_by(VideoJob.update_time.asc()).limit(200).all() for row in rows: video_code = row.video_code status = 9 time.sleep(0.01) try: data = hk_video_api.indexCode(video_code) # print(video_code, data) if data is not None: status = data['status'] except Exception as e: traceback.print_exc() row.status = status row.update_time = datetime.now() db.commit() update_assis_video_table(video_code, status, db) def update_assis_video_table(video_code: str, status: int, db: Session) -> None: pass