From fc9e18ec628294f802550a600c49360fb22902b5 Mon Sep 17 00:00:00 2001 From: dongchangxi <458593490@qq.com> Date: Thu, 19 Oct 2023 16:23:30 +0800 Subject: [PATCH] =?UTF-8?q?bug=20=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- timer/get_task_to_db.py | 47 +++++++++++++++++++++++++++++++++++++++++ tools/gen_xmps.py | 6 +++--- 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 timer/get_task_to_db.py diff --git a/timer/get_task_to_db.py b/timer/get_task_to_db.py new file mode 100644 index 0000000..dd99728 --- /dev/null +++ b/timer/get_task_to_db.py @@ -0,0 +1,47 @@ +import platform,sys,redis,time +if platform.system() == 'Windows': + sys.path.append('e:\\libs\\') +else: + sys.path.append('/data/deploy/make3d/make2/libs/') + +import config,libs,libs_db + +def getPSid(pid): + res = request.get("https://mp.api.suwa3d.com/api/customerP3dLog/photoStudio",params={"pid":pid}) + res = json.loads(res.text) + return str(res['data']) + +def readTask(r,key): + print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-读取队列-"+key) + if r.llen('model:'+key) == 0: + print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-没有查询到任务在"+key+"队列中") + return + #读取一个值 + pid = r.lpop('model:'+key) + #判断是否为空 + if pid is None: + print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-读取的PID为空") + return + pid = pid.decode('utf-8') + #判断是否走新的建模系统 + if libs_db.is_new_make_psid(pid) == False: + #如果不是走新的建模系统就塞回原来的队列 + print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-该任务不是走新的建模任务,塞回原来的队列-"+pid) + r.rpush('model:'+key,pid) + return + #新的建模系统 + psid = getPSid(pid) + libs_db.add_task({"task_type":key,"task_key":pid,"psid":psid}) + +#程序主入口 +if __name__ == '__main__': + r = redis.Redis(host="106.14.158.208",password="kcV2000",port=6379,db=6) + #开启死循环 + while True: + print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-读取redis中的任务") + # 3D相册建模队列 model:make_experience + # model:make model:make10 + readTask(r,'make10') + # time.sleep(2) + readTask(r,'make') + time.sleep(2) \ No newline at end of file diff --git a/tools/gen_xmps.py b/tools/gen_xmps.py index 08920e9..8848b7e 100644 --- a/tools/gen_xmps.py +++ b/tools/gen_xmps.py @@ -9,17 +9,17 @@ import config, libs, libs_db def upload_xmp(pid): print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} 上传xmp文件之前先删除oss上的xmp文件所在目录...') - + psid = libs.getPSid(pid) #移除掉旧的文件夹 #config.oss_bucket.delete_object(f'xmps/{pid}/') #删除oss 上的文件夹里的内容 - object_list = oss2.ObjectIterator(config.oss_bucket, prefix=f'xmps/{pid}/') + object_list = oss2.ObjectIterator(config.oss_bucket, prefix=f'xmps/{psid}/') if not any(object_list): config.oss_bucket.batch_delete_objects([obj.key for obj in object_list]) start_time = time.time() workdir = os.path.join(config.workdir, pid) - psid = libs.getPSid(pid) + ##psid = libs.getPSid(pid) config.oss_bucket.put_object_from_file(f'xmps/{psid}/{psid}.rcbox', os.path.join(workdir, f'{pid}.rcbox')) for xmp in os.listdir(os.path.join(workdir, 'photo1')): if xmp.endswith('.xmp'):