Node js服务不返回任何内容

时间:2020-04-13 06:54:02

标签: node.js

我有一个简单的代码在Node js的“ api / get”端点中等待10分钟,尽管同时保留了两个req.setTimeout(9000000);。和server.setTimeout(5000000);仍然没有任何错误也没有得到任何结果。它只是卡住了。

 const express = require('express');
    const newman = require('newman');
    var sleep = require('sleep');
    const app = express();
    const fs = require('fs');
    var request = require("request");
    var testexecution = require('./TestStatus');
    var uploadtoblob = require('./BlobFiles');
    var bodyParser = require('body-parser');
    app.use(bodyParser.json()); 
    app.get('/api/version',(req,res)=>{
        console.log("Started!")
        res.status(200).json({
            message: 'version 1.1.1'
        });
    });
    app.get('/api/secondEndpoint',(req,res)=>{
        console.log("Second Endpoint Started")
        request({
        uri: "http://protractortestcasesnew.eastus.azurecontainer.io/api/test",
        method: "GET",
        timeout: 1200000,
        followRedirect: true,
        maxRedirects: 10
        }, function(error, response, body) {
        console.log("Second Endpoint Exit")
        return res.status(400).json(response.statusMessage);
        });

    });
    app.get('/api/test',(req,res)=>{
        req.setTimeout(9000000);
        const cp = require('child_process');
        var testName=req.rawHeaders[1];
        //var enviroment=req.rawHeaders[2];
        var enviroment="predev";
        var file='/app/TestCases/reports\\testReport.html';
        var connectionStringfile='/app/Service/NodejsWebApp/Values.json';
        try
        {
                console.log("Method Entry");
             setTimeout(() => {  return res.status(200).json({
            message: 'Pass'
            }); }, 240000);
        }
        catch (error)
         {
          if((error.status == 1) && (error.message == "Command failed: npm test") && (fs.existsSync('/app/TestCases/reports\\testReport.html' && '/app/TestCases/reports\\testReport.html.json' )) )
          {
    console.log("Catch Exit");
            console.log("res");
            return res.status(404).json({
            message: 'Failed npm Error'
            }); 
          }
          else
          {
            console.log("Error!");
            error.status;  
            error.message; 
            error.stderr;  
            error.stdout; 
            return res.status(500).json({
                        message: 'Failed'
                    });
          }
        }
    });


    var server=app.listen(80,()=>console.log("server is up"))
    module.exports = app;
    server.setTimeout(5000000);

我有一个简单的代码在Node js的“ api / get”端点中等待10分钟,尽管同时保留了两个req.setTimeout(9000000);。和server.setTimeout(5000000);仍然没有任何错误也没有得到任何结果。它只是卡住了。

1 个答案:

答案 0 :(得分:0)

我发现大约4分钟后httpClient关闭并且没有给出响应,因此要解决这个问题,您可以在2分钟后对端点进行轮询,看看结果是否可用,然后得到结果。