Мое приложение не отвечает при использовании shelljs в Nest.js - PullRequest
0 голосов
/ 10 марта 2019

Я использую серверное приложение Nest.js. У меня есть конечная точка, такая как загрузка проекта из gerrit, затем запуск на док-контейнере и ожидание результатов.

 @Get('generate')
    generate(@Body() generateCommandDto: GenerateCommandDto) {
        const {exec}  = require('shelljs');
        const child = exec('docker run --rm ' +
            '--ipc="host" -w /hede' +
            ' -v /Users/yildiza/Desktop/myproject-Web:/hede' +
            ' docker.sandbox.domain.com/web-ui-test-env:1' +
            ' /bin/bash -c "' +
            ' cypress run --browser chrome && chmod -R 777 .' +
            ' --reporter mochawesome --reporter-options --reportDir=Users/yildiza/Desktop/CypressTest overwrite=false"');
    }

Однако, есть еще кое-что, и это утомляет мое приложение, и это трудная операция. Он постоянно входит в мою консоль. Пока эта конечная точка запущена, мои другие конечные точки не отвечают ни на какие запросы. Как мне этого добиться? Все мои методы асинхронны и я использую await. Не могу ли я как-то ответить? Или в nest.js использует команду shelljs и ожидает выполнения всех операций? Любые другие варианты не ждать и дать ответ моей конечной точки?

...