示例#1
0
def last_mon():
    global GPIO
    while True:
        semaphore_isprint.acquire()
        #每隔一段时间就检测打印机状态是否在打印,如果在打印则循环检测
        #如果不在打印,则发送一个请求打印命令
        while True:
            time.sleep(20)
            #检测打印
            flag = getinfo.get_isrunning(mach_data["mach_ip"],
                                         mach_data["api"])
            if flag == 2:  #2代表绝对空闲
                # overjob = {"machineCode":"","type":"overJob","createTime":""}
                # overjob["machineCode"] = mach_data["machineCode"]
                # overjob["createTime"] = int(time.time())
                # on_publish("overJob", json.dumps(overjob), 0)

                #print("waiting 5 times...")
                count = 10
                print "start to wait the start order"
                while count > 0:
                    if (GPIO.input(GPIO_PIN) == 1):
                        count = count - 1
                        print("input high")
                    else:
                        count = 10
                        continue
                    time.sleep(0.1)

                semaphore_printfile.release()  #发送一个打印请求
                break
示例#2
0
def print_process():
    temp_json = {"jobId": "", "machineCode": "", "type": "reqExecute"}
    while True:
        #只要是队列数量大于0并且打印机是空闲状态,就开始请求。
        print("printer is waiting for the task.........")
        semaphore_printfile.acquire()  #消费一个打印请求信号量
        flag = getinfo.get_isrunning(mach_data["mach_ip"], mach_data["api"])
        #flag表示是否满足空闲状态
        if len(q) > 0 and flag == 2:  #打印队列中至少有一个并且打印机是空闲状态时,发送一个打印请求。否则丢弃这个信号量
            file_jobId = q.popleft()
            q.appendleft(file_jobId)
            temp_json["jobId"] = file_jobId
            temp_json["machineCode"] = mach_data["machineCode"]
            on_publish("reqPrintFile", json.dumps(temp_json), 2)
            print "post a printing request"
示例#3
0
        except Exception, e:
            pass
        if _data != 0:
            print "okokoko"
            break
        else:
            print "fail to post"
        time.sleep(3)

    while True:
        event_post_info.wait()
        #持续发送温度信息4
        mach_mon_data = getinfo.get_factoryMessage(mach_data["mach_ip"],
                                                   mach_data["api"])
        mach_info_json["process"] = mach_mon_data["process"]
        if ((getinfo.get_isrunning(mach_data["mach_ip"], mach_data["api"])
             == 1) or (getinfo.get_isrunning(mach_data["mach_ip"],
                                             mach_data["api"]) == 3)):
            mach_info_json["status"] = 1
            # file_jobId = q.popleft()
            # q.appendleft(file_jobId)
            mach_info_json["fileName"] = printing_file_name["tempfilename"]
            mach_info_json["process"] = mach_mon_data["process"]
            mach_info_json["printTime"] = mach_mon_data["printTime"]
            mach_info_json["printTimeLeft"] = mach_mon_data["printTimeLeft"]
            mach_info_json["createTime"] = mach_mon_data["createTime"]
        else:
            if fetch_product == 0:
                mach_info_json["status"] = 0
                mach_info_json["fileName"] == ""
                mach_info_json["process"] = 0