def shutdown(signal, frame): print "Rendler is shutting down" rendler.shuttingDown = True while rendler.tasksRunning > 0: time.sleep(1) driver.stop() export_dot.dot(rendler.crawlResults, rendler.renderResults, "result.dot") print "Goodbye!" sys.exit(0)
framework = mesos_pb2.FrameworkInfo() framework.user = "" # Have Mesos fill in the current user. framework.name = "RENDLER" try: maxRenderTasks = int(sys.argv[3]) except: maxRenderTasks = 0 rendler = RenderingCrawler(sys.argv[1], maxRenderTasks, crawlExecutor, renderExecutor) driver = MesosSchedulerDriver(rendler, framework, sys.argv[2]) # driver.run() blocks; we run it in a separate thread def run_driver_async(): status = 0 if driver.run() == mesos_pb2.DRIVER_STOPPED else 1 driver.stop() sys.exit(status) framework_thread = Thread(target=run_driver_async, args=()) framework_thread.start() print "(Listening for Ctrl-C)" signal.signal(signal.SIGINT, graceful_shutdown) while framework_thread.is_alive(): time.sleep(1) export_dot.dot(rendler.crawlResults, rendler.renderResults, "result.dot") print "Goodbye!" sys.exit(0)
uri_proto.extract = False definerExecutor.name = "Definer" framework = mesos_pb2.FrameworkInfo() framework.user = "" # Have Mesos fill in the current user. framework.name = "anagrammer" try: maxDefinerTasks = int(sys.argv[3]) except: maxDefinerTasks = 0 anagrammer = RenderingFinder(sys.argv[1], maxDefinerTasks, finderExecutor, definerExecutor) driver = MesosSchedulerDriver(anagrammer, framework, sys.argv[2]) # driver.run() blocks; we run it in a separate thread def run_driver_async(): status = 0 if driver.run() == mesos_pb2.DRIVER_STOPPED else 1 driver.stop() sys.exit(status) framework_thread = Thread(target = run_driver_async, args = ()) framework_thread.start() print "(Listening for Ctrl-C)" signal.signal(signal.SIGINT, graceful_shutdown) while framework_thread.is_alive(): time.sleep(1) export_dot.dot(anagrammer.finderResults, anagrammer.definerResults, "result.dot") print "Goodbye!" sys.exit(0)
uri_proto.extract = False renderExecutor.name = "Renderer" framework = mesos_pb2.FrameworkInfo() framework.user = "" # Have Mesos fill in the current user. framework.name = "RENDLER" try: maxRenderTasks = int(sys.argv[3]) except: maxRenderTasks = 0 rendler = RenderingCrawler(sys.argv[1], maxRenderTasks, crawlExecutor, renderExecutor) driver = MesosSchedulerDriver(rendler, framework, sys.argv[2]) # driver.run() blocks; we run it in a separate thread def run_driver_async(): status = 0 if driver.run() == mesos_pb2.DRIVER_STOPPED else 1 driver.stop() sys.exit(status) framework_thread = Thread(target = run_driver_async, args = ()) framework_thread.start() print "(Listening for Ctrl-C)" signal.signal(signal.SIGINT, graceful_shutdown) while framework_thread.is_alive(): time.sleep(1) export_dot.dot(rendler.crawlResults, rendler.renderResults, "result.dot") print "Goodbye!" sys.exit(0)