use an independent process for status window
This commit is contained in:
parent
2eca6b4e1e
commit
47db1cc1c8
10
eoptasks.py
10
eoptasks.py
|
@ -71,6 +71,7 @@ def get_servers():
|
|||
def parse_args():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-l', '--list-servers', action='store_true')
|
||||
parser.add_argument('--status-window', dest='session_name', type=str)
|
||||
parser.add_argument('-k', dest='keywords', type=str)
|
||||
parser.add_argument('cmd', type=str, nargs='?', default=None)
|
||||
args = parser.parse_args()
|
||||
|
@ -94,6 +95,11 @@ def filter_servers(servers, args):
|
|||
|
||||
args = parse_args()
|
||||
|
||||
if args.session_name:
|
||||
print('eoptasks, tmux session %s' % args.session_name)
|
||||
time.sleep(3600)
|
||||
sys.exit(0)
|
||||
|
||||
servers = get_servers()
|
||||
selected_servers = filter_servers(servers, args)
|
||||
|
||||
|
@ -112,7 +118,8 @@ if not args.cmd:
|
|||
|
||||
def init_tmux_session():
|
||||
tmux_session_name = 's%s' % random.randrange(1000)
|
||||
os.system('tmux new-session -s %s -n 🌑 -d /bin/bash -c "sleep 2h"' % tmux_session_name)
|
||||
os.system('tmux new-session -s %s -n 🌑 -d %s --status-window %s' % (
|
||||
tmux_session_name, sys.argv[0], tmux_session_name))
|
||||
return tmux_session_name
|
||||
|
||||
tmux_session_name = init_tmux_session()
|
||||
|
@ -144,7 +151,6 @@ else:
|
|||
}.get(args.cmd, args.cmd)
|
||||
|
||||
status_window = session.attached_window
|
||||
status_window.attached_pane.send_keys('eoptasks\n ', enter=False)
|
||||
|
||||
total_number = len(selected_servers)
|
||||
random.shuffle(selected_servers)
|
||||
|
|
Loading…
Reference in New Issue