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
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"
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