Каков наилучший способ запуска команд оболочки из веб-интерфейса?

Представьте себе веб-приложение, которое позволяет вошедшему в систему пользователю запускать команду оболочки на веб-сервере одним нажатием кнопки. Это относительно просто в большинстве языков с помощью некоторых стандартных библиотечных инструментов.

Но если эта команда выполняется долго, вы не хотите, чтобы ваш пользовательский интерфейс зависал. Опять же, с этим сравнительно легко справиться с использованием какого-либо фонового процесса или помещением команды для выполнения в очередь сообщений (и, возможно, сохранением вывода и статуса где-то для последующего использования). Просто вернитесь быстро, сохраняя, мы запустим его и вернемся к вам.

Что я хотел бы сделать, так это показать вывод указанной команды запуска веб-интерфейса , как это происходит . Таким образом, вертикальная прокрутка текста, как при работе в терминале.

У меня есть смутное представление о том, как я мог бы подойти к этому, возможно, потоковая передача вывода в веб-сокет и просто печать вывода на экран.

Что я хотел бы Задайте вопрос:

Есть ли у них какие-либо плагины, библиотеки или приложения, которые уже делают это. Что-то, что я могу использовать или прочитать источник. В идеале это инструмент с открытым исходным кодом python / django или ruby ​​/ rails, но другие стеки тоже будут интересны.

8
задан Garethr 3 September 2010 в 15:59
поделиться