################################################################ ################################################################ ## Version: 1.0 / Author: Dillon Uzar ## ## DESC: For use in WCS Sorting Lane Lookup & Recording ## WARN: Modifying code may cause system to function incorrectly ################################################################ ################################################################ import time ####################################################### ####################################################### ####################################################### #### Constants ####################################################### # Logger: LOG = system.util.logger("PE BreakCount Handler") # For inserting data into database: CONFIRM_INSERT_QUERY = "INSERT IGNORE INTO pe_history (lane_id,count) VALUES (?,?)" ####################################################### ####################################################### ####################################################### #### Parsing Utils ####################################################### def logTime(title, trackID, seconds): millisec = round(seconds * 1000, 1) if millisec > 4: LOG.info("%s[ID=%s] took longer than expected (%sms to process)" % (title, trackID, millisec)) ####################################################### ####################################################### ####################################################### #### PLC Event Handling ####################################################### def processBreak(laneID, count): # This function handles confirm events, and logs the event in SQL # Ensure ID is valid if count > 0: start_time = time.time() # Log confirm event in SQL: # Insert into Package History: system.db.runPrepUpdate(CONFIRM_INSERT_QUERY, [laneID, count]) logTime("PE_BREAK[DB_INSERT]", laneID, time.time() - start_time) def processBreakAsync(laneID, count): # This function handles confirm events, and logs the event in SQL # Ensure ID is valid if count > 0: def processConfirmInner(): start_time = time.time() # Log confirm event in SQL: # Insert into Package History: system.db.runPrepUpdate(CONFIRM_INSERT_QUERY, [laneID, count]) logTime("PE_BREAK[DB_INSERT]", laneID, time.time() - start_time) system.util.invokeAsynchronous(processConfirmInner)