【问题标题】:Bluemix Python App Start unsuccessfulBluemix Python 应用程序启动不成功
【发布时间】:2016-11-15 16:23:42
【问题描述】:

我正在尝试部署我在教程中找到的 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", "instance"=>"2f471496fee143cea8e95eb16a05c9e6", "index"=>0, "reason"=>"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", "instance"=>"2f471496fee143cea8e95eb16a05c9e6", "index"=>0, "reason"=>"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”、“实例”=>“59b39b134dc347aa8cca9cf93f28ea35”、“索引”=>0、“原因”=>“崩溃”、“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"=>"default", "droplet"=>"3ae2d9a1-28d9-47af-a7b4-2e311bd763af", "version"=> “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-11-18T10:17:41.725+0200 启动应用程序实例(索引 0)
API/9App 实例以 guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af 有效载荷退出:{"cc_partition"=>"default", "droplet"=>"3ae2d9a1-28d9-47af-a7b4-2e311bd763af", "version"=> "948e02de-d579-4058-8e89-8573af7ca886", "instance"=>"7a8caf7bea6b4de6a45cce7cdc601ded", "index"=>0, "reason"=>"CRASHED", "exit_status"=>1, "exit_description"=>"应用程序实例已退出", "crash_timestamp"=>1479457006}2016-11-18T10:16:46.720+0200
DEA/201使用 guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af2016-11-18T10:16:41.710+0200 启动应用程序实例(索引 0)
API/3App 实例以 guid 3ae2d9a1-28d9-47af-a7b4-2e311bd763af 有效负载退出:{"cc_partition"=>"default", "droplet"=>"3ae2d9a1-28d9-47af-a7b4-2e311bd763af", "version"=> “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-11-18T10:15:55.778+0200 启动应用程序实例(索引 0)
API/0已更新应用,guid 为 3ae2d9a1-28d9-47af-a7b4-2e311bd763af ({"state"=>"STARTED"})

【问题讨论】:

  • 您应该在将问题发布到堆栈溢出之前删除您的 api_key。既然它已经发布在这里,你应该请求一个新的 api 密钥。
  • 你能发布你的日志吗?
  • @DanielGrim 下次我会确保隐藏它,非常感谢
  • @JeffSloyer 发布了日志,我不知道如何格式化它们。我希望你能用它们做点什么。谢谢

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


【解决方案1】:

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 命令获得应用程序的输出。

【讨论】:

  • 尝试使用 --no-route 运行它仍然是同样的问题。另外 cf logs --recent 给了我“拨号流量控制器服务器时出错”,所以我无法以这种方式获取日志。获取日志的唯一方法是在 bluemix 中的应用程序内部。
  • 您发布的错误日志只是显示应用程序每次尝试启动时都会崩溃,在暂存任务完成后,日志中可能会有一些更有用的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-13
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
  • 1970-01-01
相关资源
最近更新 更多