0

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

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

0 个实例正在运行,1 个启动 0 个实例正在运行,1 个启动 0 个实例正在运行,1 个启动 0 个实例正在运行,1 个启动 0 个实例正在运行,1 个崩溃 FAILED

开始不成功

请帮忙看看是什么问题..

命令提示符

'我的编码

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.');
4

1 回答 1

0

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

查看示例应用程序“ Conversation Simple ”和主文件“server.js”,了解如何处理端口信息。

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

于 2017-06-20T11:31:24.137 回答