建模程序 多个定时程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

59 lines
2.2 KiB

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"
#默认走原来的数据表tasks,现在要切入一些数据过来走分布式建模系统
taskData = {"task_type":key,"task_key":pid,"psid":psid,"priority":1}
if libs_db.isStudioConfigDistribute(psid):
print("走分布式建模系统插入",key,pid,psid)
libs_db.add_task_distributed(taskData)
else:
print("走新的建模系统不是分布式插入",key,pid,psid)
libs_db.add_task(taskData)
#程序主入口
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)