import sys,socket,time,platform from logic import logic_main_service import logging import main_step1,main_step2,main_step3 if platform.system() == 'Windows': #线上正式运行 sys.path.append('e:\\libs\\') #本地测试 else: sys.path.append('/data/deploy/make3d/make2/libs/') import main_service_db,config if __name__ == '__main__': if len(sys.argv) == 2: print(sys.argv[1]) os.system(f'python main_step1.py {sys.argv[1]}') else: #循环值守 redisLocal = config.redis_local while True: data = logic_main_service.get_task_distributed() #判断data数据类型 if isinstance(data, str): print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),',没有可执行的任务 sleep 3s') time.sleep(3) continue else: if data["run_step"] == "step1": # 本地测试分布运行的用 # time.sleep(5) # print("更新step1的结束时间",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # main_service_db.update_task_distributed_detail({"task_distributed_id":data["task_distributed_id"],"step":"step1","finished_at":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}) #生产线上用 main_step1.step1(data["task_key"], experience=False, makeloop=True,task_distributed_id=data['task_distributed_id']) elif data["run_step"] == "step2": # 本地测试分布运行的用 # time.sleep(15) # print("更新step2的结束时间",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # main_service_db.update_task_distributed_detail({"task_distributed_id":data["task_distributed_id"],"step":"step2","finished_at":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}) #生产线上用 #移除 redis 里的自动点击的队列 redisLocal.lrem("model:auto_distance",0,data["task_key"]+"_0") redisLocal.lrem("model:auto_distance",0,data["task_key"]+"_1") main_step2.step2(data["task_key"], data['task_distributed_id']) elif data["run_step"] == "step3": # 本地测试分布运行的用 #time.sleep(8) # #更新子表的finished_at #print("更新step3的结束时间",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) #main_service_db.update_task_distributed_detail({"task_distributed_id":data["task_distributed_id"],"step":"step3","finished_at":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}) #更新主表的status 和 finished_at #main_service_db.update_task_distributed({"id":data["task_distributed_id"],"status":2,"finished_at":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}) #生产线上用 main_step3.step3(data["task_key"], data['task_distributed_id'])