Bluemix Node js app push启动失败

时间:2017-06-20 08:17:48

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

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

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

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

开始失败

请帮助解决问题..

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

1 个答案:

答案 0 :(得分:0)

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

查看示例应用&#34; Conversation Simple&#34;以及main file "server.js"如何处理端口信息。

作为代码的替代方案,您可以考虑设置process Users。这表明Bluemix / Cloud Foundry您不会部署常规(Web)应用程序,但会在后台运行或执行一次。