Beispiel #1
0
def execute(old_progs):
	logger.log("taskmaster reloaded")
	new_progs = ProgramLst()
	for oprog in old_progs.lst:
		for nprog in new_progs.lst:
			# only program which we care about processes should be keep
			if oprog.name == nprog.name:
				oprog.keep_running_process(nprog)
				break

	# now all the progs are in new_progs
	new_progs.reload()
	return new_progs
Beispiel #2
0
		prog_name = CommandInterface.get_prog_name(line)
		restart.execute(progs, prog_name)
		progs_lock.release()

	def complete_restart(self, text, line, begidx, endidx):
		return CommandInterface.prog_complete(self, text, line, begidx, endidx)

	def do_reload(self, line):
		global progs
		progs_lock.acquire(True)
		progs = reload.execute(progs)
		progs_lock.release()

if __name__ == '__main__':
	logger.log("BEGIN TASKMASTER")
	# create signal handler
	signal.signal(signal.SIGINT, signal_handler)

	# read progs
	progs = ProgramLst()
	progs.launch()
	progs_lock = threading.Lock()

	# launch a thread to test progs
	t = threading.Thread(target = thread_check_progs)
	t.daemon = True
	t.start()

	# command loop
	CommandInterface().cmdloop()