import time from DB import DBVidcon, DBSA from report_video import DailymotionClient import logger db = DBVidcon() d = DailymotionClient() k = { "open":1, "solved":2, "awaiting your reply":3, } while True: start_time = int(time.time()) lis = db.get_report_video() if len(lis) > 0: for li in lis: logger.logger.info(f"name:{li['name_title']},link:{li['link']} ") try: info,report_id,status,report_ts, = d.process_ticket(li['name_title'], li['link']) subsequent_status = k.get(status, 1) db.update_fight_record_status(li['id'],report_id, 2, f"http://123.58.197.91:5000/image/{info}", report_ts, subsequent_status) db.flush() except Exception as e: logger.logger.error(f"ID:{li['id']}, e:{e}") db.update_fight_record_status(li['id'], 3, str(e)) time.sleep(1 * 60) subsequent_list = db.get_subsequent_report_video() if len(subsequent_list) == 0: time.sleep(60 * 5) else: for li in subsequent_list: rs_id = li['id'] r_id = li['report_id'] logger.logger.info(f"subsequent id:{rs_id},report_id:{r_id} ") try: subsequent_status, info = d.report_follow_up(r_id) db.update_subsequent_status_by_id(rs_id, subsequent_status, info) except Exception as e: logger.logger.error(f"ID:{rs_id}, e:{e}") db.update_subsequent_status_by_id(rs_id, 1, str(e)) used = int(time.time() - start_time) remain = max(0, 60 * 5 - used) if remain > 0: logger.logger.info(f"当前轮耗时 {used:.1f} 秒,休眠 {remain:.1f} 秒") time.sleep(remain)