Как узнать, когда программа завершает работу в интерактивном REPL в контейнере Docker? - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь создать REPL на основе браузера для Python, как в REPL.it (http://repl.it/). Когда пользователь нажимает «Выполнить код», я использую node-pty для создания дочернего процесса, который создает интерактивный экземпляр Python REPL в контейнере Docker, например:

введите описание изображения здесь

Как узнать, когда программа завершает выполнение, не дожидаясь завершения процесса (т.е. process.on ('exit', {...}), поскольку после выполнения программы пользователи могут по-прежнему взаимодействовать с методами, объявленными в программе, через оболочку GUI (чтобы он был интерактивным, это означает, что процесс никогда не завершается)?

Вещи, которые я пробовал: (1 ) Опрос каждые 1 секунду для проверки использования ЦП контейнера через docker stats, но это оказывается очень медленным и дает сбой Docker легко

...