import platform,sys,redis,time,requests,json if platform.system() == 'Windows': sys.path.append('e:\\libs\\') else: sys.path.append('/data/deploy/make3d/make2/libs/') import config,libs,libs_db r = redis.Redis(host="106.14.158.208",password="kcV2000",port=6379,db=6) def getPSid(pid): res = requests.get("https://mp.api.suwa3d.com/api/customerP3dLog/photoStudio",params={"pid":pid}) res = json.loads(res.text) return str(res['data']) def readTask(key): print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-读取队列-"+'model:'+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') psid = getPSid(pid) #判断是否走新的建模系统 if libs_db.is_new_make_psid(psid) == False: #如果不是走新的建模系统就塞回原来的队列 print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-该任务不是走新的建模任务,塞回原来的队列-"+pid) r.rpush('model:'+key,pid) return #新的建模系统 #psid = getPSid(pid) if key == "make10": key = "make" print("走新的建模系统插入",key,pid,psid) libs_db.add_task({"task_type":key,"task_key":pid,"psid":psid}) #程序主入口 if __name__ == '__main__': #print(r.llen('model:make10')) #开启死循环 while True: print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())+"-读取redis中的任务") # 3D相册建模队列 model:make_experience # model:make model:make10 readTask('make10') time.sleep(10) readTask('make') time.sleep(10)