【问题标题】:Bluemix Node js app push Start unsuccessfulBluemix Node js 应用推送启动不成功
【发布时间】:2017-06-20 08:17:48
【问题描述】:

我在 node js 应用程序上使用 watson 对话服务。

在尝试将应用程序推送到 bluemix 时。 (通过命令提示符) 上传所有文件后..

1 个实例中的 0 个正在运行,1 个正在启动 1 个实例中的 0 个正在运行,1 个正在启动 1 个实例中的 0 个正在运行,1 个正在启动 1 个实例中的 0 个正在运行,1 个正在启动 1 个实例中的 0 个正在运行,1 个已崩溃 失败

启动失败

请帮忙解决什么问题..

command prompt

'我的编码

var watson=require('watson-developer-cloud');

var conversation =watson.conversation({
  url: 'https://gateway.watsonplatform.net/conversation/api',
  username:' ',
  password:' ',
  version:'v1',
  version_date:'2017-06-20'
});
var context={};
context.hour=-1;
function prompt(question,callback){
  var stdin=process.stdin,
  stdout=process.stdout;
  stdin.resume();
  stdout.write(question);
  stdin.once('data',function(data){
    callback(data.toString().trim());
  });
}

function tConvert(time){
  time=time.toString().match(/^([01]\d2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/)||[time];

  if(time.length>1){
    time=time.slice(1);
    time[5]=+time[0]<12?'AM':'PM';
    time[0]=+time[0]%12||12;
  }
  return time.join('');
}
function convMessage(message){
    var d=new Date();
  var n=tConvert(d.getHours() + ':' + d.getMinutes() + ':00');
  context.hour=(n.split(':'))[0];
  context.minute=(n.split(':'))[1];
  conversation.message({
    workspace_id:'09ee7558-0d3e-4af3-8429-14e60be348d7',
    input:{'text':message},
    context:context
  },function(err,response){
      if(err){
        console.log('error:',err);
      }else {
          console.log('Watson: ' + response.output.text[0])
          prompt('You: ', function(input){
            convMessage(input);
          });
          context=response.context;
        }
      });
    }
convMessage('Hi.');

【问题讨论】:

  • 您的代码可能有问题。您需要与部署日志共享它。
  • 代码在本地运行成功。日志页面正在加载..正在加载..但没有显示任何内容
  • 你使用 VCAP 提供的 PORT 吗?
  • 不,我没有使用 VCAP 端口。我现在已经发布了我的编码。感谢您的友好回复 Henrik..

标签: node.js ibm-cloud watson-conversation watson clfs


【解决方案1】:

您的程序可能在本地运行。但是,要在 Cloud Foundry 上作为 Bluemix Node.js 应用程序运行,它需要满足一定的要求。需要一个 Web 应用程序,并且运行状况管理器会在预期端口上检查您的应用程序是否处于活动状态。如果无法检测到应用程序,则将其视为“已死”,日志将显示为“已崩溃”。

查看示例应用“Conversation Simple”和main file "server.js",了解如何处理端口信息。

作为代码的替代方案,您可以考虑将health check type 设置为process。这将表明 Bluemix / Cloud Foundry 您没有部署常规(Web)应用程序,而是在后台运行或执行一次的应用程序。

【讨论】:

  • 谢谢亨利克。现在我正在使用 git hub 代码。我明白我错过了什么。
  • 在 app.js 中,一旦我将行从 if (!workspace || workspace === '') { 更改为 if (!workspace || workspace !== '') { 现在工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
相关资源
最近更新 更多