【问题标题】:"./postinstall" failed with return code [Timeout]“./postinstall”失败,返回码 [超时]
【发布时间】:2012-06-29 09:39:00
【问题描述】:

当我运行“dotcloud push traing”时...运行安装后脚本需要很长时间并在下面出现错误。 我创建了一个新帐户。 cd 投影并运行命令:“dotcloud create training”和“dotcloud push training”,但没有任何变化。
任何人都可以帮助我吗?plz

Running postinstall script...
ERROR: deployment aborted due to unexpected command result: "./postinstall" failed with return code [Timeout]

安装后

#!/bin/sh
#python createdb.py
python training/manage.py syncdb --noinput
python mkadmin.py
mkdir -p /home/dotcloud/data/media /home/dotcloud/volatile/static
python training/manage.py collectstatic --noinput

requirements.txt

Django==1.4
PIL==1.1.7

【问题讨论】:

  • 您安装并运行 DB 了吗?
  • 您可以做的一件事是在您的安装后添加回显,以便在您的日志中看到它挂起的位置,然后希望它会缩小导致超时的原因。在安装后的开头、结尾和每个命令之间添加一个。如果它即将结束,则可能是您无法控制的事情,您应该联系支持人员。

标签: python django dotcloud


【解决方案1】:

试试这个作为你的后安装。它可能有助于定位错误(根据 Ken 的建议进行扩展):

#!/bin/bash
# set -e makes the script exit on the first error
set -e
# set -x will add debug trace information to all of your commands
set -x

echo "$0 starting"

#python createdb.py

python training/manage.py syncdb --noinput
python mkadmin.py
mkdir -p /home/dotcloud/data/media /home/dotcloud/volatile/static
python training/manage.py collectstatic --noinput

echo "$0 complete"

更多调试信息请访问http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html

【讨论】:

    【解决方案2】:

    任何诸如“./postinstall failed with return code”之类的错误消息都意味着您的 postinstall 脚本存在问题。

    为了在 dotCloud 上轻松调试安装后执行,您可以执行以下操作:

    假设您的应用是“拉面”,而您的服务是“www”。

    $ dotcloud -A ramen run www
    > ~/current/postinstall
    

    它将重新执行安装后,但这次从您的会话开始,因此您可以轻松更新安装后代码并重新运行它,而无需一次又一次地推送。

    找到根本原因后,在本地修复它并重新推送您的应用程序。

    【讨论】:

      猜你喜欢
      • 2018-05-26
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 2021-04-06
      相关资源
      最近更新 更多