amarao: (Default)
amarao ([personal profile] amarao) wrote2022-12-03 10:36 am
Entry tags:

tmux

Инвестирую кусок времени в tmux, а именно, в его детачед режим. Фактически, это такой извращённый (или нет?) метод запускать программы в параллель, так, чтобы их выводы не перемешивались.

Я очень, очень, очень устал бороться с всеми CI мира за matrix'ы и вытекающее из них. У меня сейчас есть гипотеза, что отказ от matrix в пользу банального tmux'а, который запускает N сессий в параллель, сохраняет их вывод в файл, а потом дампает их на экран в разумном порядке, возможно, удобнее, чем борьба с птичьим языком CI.

Потенциально, управление tmux'ом может быть даже не на баше, а на чём-то более дружественном к программисту. В этой ситуации можно написа... wait

https://github.com/tmux-python/libtmux

Ну вот, уже всё написано.

Пожалуй, одно сложное место, о котором я думаю, это "как мне узнать, что все программы во всех сессиях закончились". ...

Возможно, я могу просто послать C-d после capture. Если оно правильно отрабатывает порядок выполнения, то Ctrl-D будет отрабатывать сразу же после завершения программы (как Ctrl-D в терминале).

Почему tmux, а не просто subprocess.run? Возможность отлаживать это локально, включая возможность переключаться между сессиями.

... О, я осознал проблему, которой надо заняться. А как быть с кодом возврата? Я хочу знать кто из них упал, а кто нет.
juan_gandhi: (Default)

[personal profile] juan_gandhi 2022-12-03 07:07 pm (UTC)(link)

Как интересно! Этому tmux-у сто лет в обед, я уже забыл, что им пользовался когда-то.