Как запустить скрипт оболочки через API событий, отправленных сервером (ExpressJs) - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть скрипт оболочки для автоматической сборки и развертывания докера в Centos.Я создаю веб-сервер ExpressJs и создаю API событий, отправляемых сервером.

Как узнать событие "конец" при выполнении сценария оболочки ? Нужно ли мне менять сценарий оболочки ?Это мой код API и интерфейс

`getData = (flag) => {
    var elem = document.getElementById("myBar");
    var width = 0;
    var source = new EventSource('/data');
    if (flag) {
        source.addEventListener('message', (e) => {
            var data = e.lastEventId == -1 ? "Done" : JSON.parse(e.data);
            var clock = setInterval(() => {
                if (width >= 100) {
                    clearInterval(clock);
                } else {
                    width++;
                    elem.style.width = width + '%';
                }
            }, (Date.now() - e.timeStamp));
}`

И мой скрипт

 !/bin/bash 
#..........
nodeId=$(ps aux | grep node | awk '{if($13=="server.js") print $2}')
if [ -z $nodeId ]; then
    echo "Not found"
else
    echo "Kill process"
    kill -9 $nodeId 
fi
    echo "Finish"
npm install 
nohup npm run start server.js  &  
exit 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...