python - Bluemix Python App启动失败

标签 python error-handling ibm-cloud ibm-watson

我正在尝试部署在教程中找到的Python应用程序,但无法启动。

这是我得到的错误:
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
正在运行1个实例中的0个,开始1个
1个实例中有0个正在运行,1个已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个实例已关闭
1个实例中有0个正在运行,1个失败
失败
重新启动应用程序时出错:启动失败

这是应用程序:

import json
from os.path import join, dirname
from os import environ
from watson_developer_cloud import VisualRecognitionV3

visual_recognition = VisualRecognitionV3(VisualRecognitionV3.latest_version,  api_key='myapikey')

with open(join(dirname(__file__), 'hearts.zip'), 'rb') as hearts, \
  open(join(dirname(__file__), 'diamonds.zip'), 'rb') as diamonds, \
  open(join(dirname(__file__), 'clubs.zip'), 'rb') as clubs, \
  open(join(dirname(__file__), 'spades.zip'), 'rb') as spades :
print "Uploading files..."
print(json.dumps(visual_recognition.create_classifier('Suits', \
  hearts_positive_examples=hearts, \
  diamonds_positive_examples=diamonds, \
  clubs_positive_examples=clubs, \
  spades_positive_examples=spades), indent=2))

日志:

API/1App实例以guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af有效负载退出:{“cc_partition” =>“default”,“droplet” =>“3ae2d9a1-28d9-47af-a7b4-2e311bd763af”,“version” => “948e02de-d579-4058-8e89-8573af7ca886”,“实例” =>“2f471496fee143cea8e95eb16a05c9e6”,“索引” => 0,“原因” =>“CRASHED”,“exit_status” => 1,“exit_description” =>无法启动“,” crash_timestamp“=> 1479457233} 2016-11-18T10:20:33.805 + 0200
API/1App实例以guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af有效负载退出:{“cc_partition” =>“default”,“droplet” =>“3ae2d9a1-28d9-47af-a7b4-2e311bd763af”,“version” => “948e02de-d579-4058-8e89-8573af7ca886”,“实例” =>“2f471496fee143cea8e95eb16a05c9e6”,“索引” => 0,“原因” =>“CRASHED”,“exit_status” => 1,“exit_description” =>应用程序实例已退出”,“crash_timestamp” => 1479457233} 2016-11-18T10:20:33.805 + 0200
DEA/154使用guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af2016-11-18T10:20:26.727 + 0200启动应用程序实例(索引0)
API/4App实例以guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af有效负载退出:{“cc_partition” =>“default”,“droplet” =>“3ae2d9a1-28d9-47af-a7b4-2e311bd763af”,“version” => “948e02de-d579-4058-8e89-8573af7ca886”,“instance” =>“59b39b134dc347aa8cca9cf93f28ea35”,“index” => 0,“reason” =>“CRASHED”,“exit_status” => 1,“exit_description” =>应用程序实例已退出”,“crash_timestamp” => 1479457126} 2016-11-18T10:18:46.849 + 0200
DEA/186使用guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af2016-11-18T10:18:41.744 + 0200启动应用程序实例(索引0)
API/5App实例以guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af有效负载退出:{“cc_partition” =>“默认”,“droplet” =>“3ae2d9a1-28d9-47af-a7b4-2e311bd763af”,“版本” => “948e02de-d579-4058-8e89-8573af7ca886”,“实例” =>“0c345d386b924d949255d7a8de0482bc”,“索引” => 0,“原因” =>“CRASHED”,“exit_status” => 1,“exit_description” =>应用程序实例已退出”,“crash_timestamp” => 1479457067} 2016-11-18T10:17:47.179 + 0200
DEA/133使用guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af2016启动应用程序实例(索引0)2016-11-18T10:17:41.725 + 0200
API/9App实例以guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af有效负载退出:{“cc_partition” =>“默认”,“droplet” =>“3ae2d9a1-28d9-47af-a7b4-2e311bd763af”,“版本” => “948e02de-d579-4058-8e89-8573af7ca886”,“实例” =>“7a8caf7bea6b4de6a45cce7cdc601ded”,“index” => 0,“原因” =>“CRASHED”,“exit_status” => 1,“exit_description” =>应用程序实例已退出”,“crash_timestamp” => 1479457006} 2016-11-18T10:16:46.720 + 0200
DEA/201使用guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af2016Starting app instance(index 0)2016-11-18T10:16:41.710 + 0200
API/3App实例以guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af有效负载退出:{“cc_partition” =>“默认”,“droplet” =>“3ae2d9a1-28d9-47af-a7b4-2e311bd763af”,“版本” => “948e02de-d579-4058-8e89-8573af7ca886”,“实例” =>“af4e6ebb4787454b99fdbedef268f5e9”,“索引” => 0,“原因” =>“CRASHED”,“exit_status” => 1,“exit_description” =>应用程序实例已退出”,“crash_timestamp” => 1479456961} 2016-11-18T10:16:01.387 + 0200
DEA/145使用guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af2016开始应用程序实例(索引0)2016-11-18T10:15:55.778 + 0200
API/0使用guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af({“state” =>“STARTED”})的应用程序

最佳答案

Bluemix正在您的应用程序上运行状况检查,希望它正在监听由$PORT环境变量指定的端口。因为您的应用程序没有监听该端口,并且还因为它完成了执行并退出,所以Bluemix认为您的应用程序已崩溃,这就是为什么它显示为无法启动。

如果运行cf logs <app name> --recent,将<app name>替换为应用程序的名称,则应该在日志中看到print语句的输出。

如果要在Bluemix上运行这种类型的应用程序,则可以使用cf push <app name> --no-route来指定该应用程序将不在$PORT环境变量中指定的端口上进行侦听。您还需要以某种方式修改代码,以确保代码在执行这些打印语句后继续运行(例如:在末尾添加无限循环)。这将使Bluemix可以看到您的应用程序处于运行状态,并且该应用程序的输出将可从cf logs <app name> --recent命令获得。

关于python - Bluemix Python App启动失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40614844/

相关文章:

python - 使用 raspberry-pi3 和 Bluemix 的 IoT 项目。错误: TwilioRestClient has been removed from this version of the library

python - 使用 python 对点进行排序以获得连续曲线

python - 导入 tkinter 重复打印输出

unit-testing - 从批处理文件设置错误级别

python - 没有GOTO的Python错误处理

html - play1.2.4框架html中无法显示错误信息

python - 用其他列填充 NaN 和空值

python - 交互式和程序之间的数组运算结果不同

node.js - 如何定义 IBM watson 与 Node.js 应用程序对话的意图和实体?

ibm-cloud - 连接 ibm cloud app-connect 与 mq 的最佳方式是什么?