logger.critical(str(e)) sys.exit(1) except ProviderNotFoundException, e: logger.critical(str(e)) sys.exit(1) except KeyboardInterrupt: logger.critical('interrupted with Ctrl-C... bye!') sys.exit(0) scheduler = None try: if command: scheduler = TasksScheduler() tasks = topology.get_tasks(command) assert all(isinstance(t, tuple) for t in tasks) scheduler.append(tasks) scheduler.run() except CandelabraException: raise except Exception, e: logger.critical('uncaught exception') raise finally: if save_state: if scheduler and scheduler.num_completed > 0: topology.state.save() return topology class ProviderPlugin(object):