Возможно выполнить дочерний процесс от Angular 2 до Express - PullRequest
0 голосов
/ 20 февраля 2019

На моем сайте у меня есть внешний интерфейс angular, вызывающий внутренний конец экспресса.

Некоторые экспресс-вызовы попадают в базу данных для выполнения хранимых процедур, которые могут занимать много времени.

Эти длительные времена ожидания ответа от Express для возврата к angular вызывают ошибку 504.

Есть ли в любом случае, чтобы установить, где angular отправляет сообщение выполнения в Express, а затем пользователь продолжает использоватьугловой сайт, в то время как длительная хранимая процедура заканчивается на экспрессе?(В настоящее время, если пользователь выполняет один из этих длительных процессов, а затем перемещается по угловому узлу, он завершает процесс).

Образец углового вызова:

getDnSP(DnSPCall): Observable<DnSpResult[]> {
  const url = 'http://localhost:4200/'+'dn_sp';
  const data = ({
    dnspcall: DnSPCall
  });
  return this._http.post(url, data)
  .pipe(
    map((res) => {
      console.log(res);
      return <DnSpResult[]> res;
    })
  );
}

Образец Экспресс:

router.post('/dn_sp', function (req, res) {
  var dnspcall = req.body.dnspcall;
  console.log(dnspcall);
  var sql = "CALL " + db + ".DN_OBJECT(" + dnspcall + "P_ERROR_CD,P_MSG);";
  return db.read(sql)
    .then((x) => {
      console.log(x);
        };
        client.sendMail(mailOptions, function (error, info) {
          if (error) {
            console.log(error);
          } else {
            console.log('Email sent: ' + info.response);
          }
        });
      } else {
        console.log("No errors!");
      }
      console.log("Error Code: " + errorcd);
      res.send(x);
    })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...