Написать программу, которая запускает в tmux N изолированных окружений Jupyter.
- У каждого окружения должна быть своя рабочая директория, свой порт и токен. ● [1] Каждое окружение должно жить в своём tmux-окне (window).
- Программа должна уметь стартовать и убивать окружения.
- При старте окружений должен выводиться progress bar (т.к. старт большого кол-ва сессий с Jupyter может занять время). Для этого можно использовать библиотеку tqdm. Команда, с помощью которой можно стартовать Jupyter'ы: jupyter notebook --ip {} --port {} --no-browser --NotebookApp.token='{}' --NotebookApp.notebook_dir='{}'
Для работы с аргументами командной строки можно использвать sys.argv (быстро, но не рекомендуется по codestyle), или же библиотеку argparse.
Проверку можно осуществить следующим образом:
- Сгенерируйте окружения для N пользователей и откройте 2-3 jupyter-ноутбука.
- Убедитесь, что работа в одном ноутбуке не отражается на других окружениях.
- Посмотрите логи ноутбука, подключившись к соответствующему окну в tmux-сессии. Если какой-то из ноутбуков не стартует (а все остальные Ок) есть смысл проверить не занят ли порт (netstat -nultp) каким-нибудь другим сервисом.
Если цена не устраивает - пишите в комментарии. Договоримся.