def main(): logger.info("Starting in %s", os.getcwd()) logger.info("arglist %s", sys.argv) #Check for other RenderNode isntances lockFile = InstanceLock("HydraRenderManager") lockStatus = lockFile.isLocked() logger.debug("Lock File Status: %s", lockStatus) if not lockStatus: logger.critical("Only one RenderManager is allowed to run at a time! Exiting...") sys.exit(-1) socketServer = RenderManagementServer() socketServer.createIdleLoop("Process_Render_Tasks_Thread", socketServer.processRenderTasks, interval=15)
hours = int(self.interval / 60 / 60) minutes = int(self.interval / 60 % 60) logger.info("Scheduler Sleeping for %d hours and %d minutes", hours, minutes) self.stopEvent.wait(self.interval) def pulse(): host = Utils.myHostName() with transaction() as t: t.cur.execute("UPDATE hydra_rendernode SET pulse = NOW() " "WHERE host = '{0}'".format(host)) if __name__ == "__main__": logger.info("Starting in %s", os.getcwd()) logger.info("arglist is %s", sys.argv) app = QApplication(sys.argv) app.quitOnLastWindowClosed = False lockFile = InstanceLock("HydraRenderNode") lockStatus = lockFile.isLocked() logger.debug("Lock File Status: %s", lockStatus) if not lockStatus: logger.critical("Only one RenderNode is allowed to run at a time! Exiting...") aboutBox(None, "ERROR", "Only one RenderNode is allowed to run at a time! Exiting...") sys.exit(-1) window = RenderNodeMainUI() retcode = app.exec_() lockFile.remove() sys.exit(retcode)
"""Checks for a new verison in the HYDRA environ, if one is found it starts a batch process to start the new verison and kills the current one running.""" logger.debug("Checking for updates...") updateAnswer = Utils.softwareUpdater() if updateAnswer: logger.debug("Update found!") Utils.launchHydraApp("RenderNodeConsole", 10) socketServer.shutdown() sys.exit(0) else: logger.debug("No updates found") if __name__ == "__main__": logger.info("Starting in %s", os.getcwd()) logger.info("arglist %s", sys.argv) #Check for other RenderNode isntances lockFile = InstanceLock("HydraRenderNode") lockStatus = lockFile.isLocked() logger.debug("Lock File Status: %s", lockStatus) if not lockStatus: logger.critical("Only one RenderNode is allowed to run at a time! Exiting...") sys.exit(-1) #Start the Render Server and Heartbeat Thread socketServer = RenderTCPServer() socketServer.createIdleLoop("Pulse_Thread", heartbeat, 60) #If this is an exe, start the software updater thread if sys.argv[0].endswith(".exe") and os.getenv("HYDRA"): socketServer.createIdleLoop("Software_Updater_Thread", softwareUpdaterLoop, 900)