Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

why 2? #123

Open
zuoyc opened this issue Jan 28, 2022 · 0 comments
Open

why 2? #123

zuoyc opened this issue Jan 28, 2022 · 0 comments

Comments

@zuoyc
Copy link

zuoyc commented Jan 28, 2022

class RocketMQ():
def init(self):
logging.basicConfig(level=logging.CRITICAL, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
self.logger = logging.getLogger(name)
self.consumer = PushConsumer("CID_test")
self.consumer.set_namesrv_addr("XXXX:XX")
self.topic_name = "XXXXXX"
self.timeHash=[]

    #减少日志输出
    dll.SetPushConsumerLogLevel(namesrv_addr.encode('utf-8'), 1)
def callback(self,msg):
    test_body = json.loads(msg)
    self.my_func(test_body)

def onMessage(self):
    self.consumer.subscribe(self.topic_name, self.callback)
    self.consumer.start()
    while True:
        time.sleep(30)
    self.consumer.shutdown()
def my_func(self,data):
    print(data)
    result = self.swlTask(data)
    tem["id"] = data["id"]
    tem["cameraId"] = data["deviceId"]
    tem["makedPic"] = os.path.join(time.strftime('%Y%m%d', time.localtime()), result)
    sum.append(tem)
    # 否开启子进程来跑模型输出的结果
    cmd = "cd /home/algo/matching;python demo.py"
    with os.popen(cmd) as p:
        for index in p.readlines():
            tem = index
            if "Complete registration" in tem:
                if str(tem).split(" ")[0] in self.timeHash:
                    self.timeHash.remove(str(tem).split(" ")[0])
                self.timeHash.append(str(tem).split(" ")[0])
                print("aaa:", self.timeHash)
                A = time.time()
    self.product(sum)
    cmd1 = "cd /home/algo/matching/Images/real; rm -rf *"
    re1 = os.popen(cmd1)
    cmd2 = "cd /home/algo/matching/Images/vir; rm -rf *"
    re2 = os.popen(cmd2)
    cmd3 = "cd /home/algo/matching/Images/sem; rm -rf *"
    re3 = os.popen(cmd3)

def swlTask(msg):  # 算法组从MQ中获得待处理的图片
    image1 = msg["truePic"]  # 真实
    image2 = msg["modelPic"]  # 虚拟
    image3 = msg["transPic"]  # 语义
    print(image1, image2, image3)
    savedir = "/home/algo/matching/Images"
    try:
        real = os.path.join(savedir, "real", image1.split("/")[-1])
        vir = os.path.join(savedir, "vir", image1.split("/")[-1])
        sem = os.path.join(savedir, "sem", image1.split("/")[-1])
    except:
        pass
    else:
        shutil.copyfile(image1, real)
        shutil.copyfile(image2, vir)
        shutil.copyfile(image3, sem)
        print("what", image1.split("/")[-1])
        return image1.split("/")[-1]

def product(sum):  # 算法组推送图片合成信息
    print("1")
    producer = Producer('test')
    producer.set_namesrv_addr('')  # rocketmq队列接口地址(服务器ip:port)

    producer.start()
    msg_body = {
        "result": sum
    }
    ss = json.dumps(msg_body).encode('utf-8')
    msg = Message("xxx")  # topic名称
    msg.set_tags('xxx')
    msg.set_body(ss)
    ret = producer.send_sync(msg)
    producer.shutdown()

when id(self.timeHash),there are two address,why?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant