70 lines
2.8 KiB
Python
70 lines
2.8 KiB
Python
import platform,sys,redis,time,requests,json,atexit
|
|
if platform.system() == 'Windows':
|
|
sys.path.append('e:\\libs\\')
|
|
else:
|
|
sys.path.append('/data/deploy/make3d/make2/libs/')
|
|
|
|
import config,libs,libs_db,common
|
|
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)
|
|
#判断是否走新的建模系统 2023-11-10 全部走新的建模系统
|
|
# 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 key == "rebuild":
|
|
taskData["priority"] = 100
|
|
print("走新的建模系统不是分布式插入-重建工单",key,pid,psid)
|
|
libs_db.add_task(taskData)
|
|
else:
|
|
intPid = int(psid)
|
|
if intPid == 29 or intPid == 94 or intPid == 51:
|
|
libs_db.add_task(taskData)
|
|
elif int(psid) <= 90 and int(psid) != 29 and int(psid) != 56 and int(psid) != 1:
|
|
print("走分布式建模",key,pid,psid)
|
|
if int(psid) == 41 or int(psid) == 85:
|
|
taskData["priority"] = 0
|
|
libs_db.add_task_distributed(taskData)
|
|
else:
|
|
print("非分布式建模",key,pid,psid)
|
|
libs_db.add_task(taskData)
|
|
#程序主入口
|
|
if __name__ == '__main__':
|
|
atexit.register(common.notify,"定时读取建模任务已经停止")
|
|
#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)
|
|
readTask("rebuild") |