2012-06-29 1 views
1

, когда я запускаю «dotcloud push traing» ... запуск сценария postinstall занимает много времени и появляется ошибка ниже. Я создал новую учетную запись. CD-код для запуска и запуска команды: «dotcloud create training» и «dotcloud push training», но ничего не меняется.
кто-нибудь может мне помочь? Плз«./postinstall» не удалось с кодом возврата [Timeout]

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 
+0

У вас установлена ​​и запущена БД? – Denis

+1

Одна вещь, которую вы можете сделать, это добавить эхо в вашу пост-установку, чтобы в ваших журналах вы могли видеть, где она повесилась, и, надеюсь, она сузит то, что вызывает таймаут. Добавьте один в начале postinstall, в конце и между каждой командой. Если это доходит до конца, то это может быть что-то не под вашим контролем, и вам следует обратиться в службу поддержки. –

ответ

0

Попробуйте это в качестве постустановочных. Это может помочь с обнаружением ошибки (расширения по совету Кена):

#!/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

0

Любой ошибки сообщения типа «./postinstall неудачи с кодом возврата» означает, что есть проблема с вашим сценарием postinstall.

Для отладки постустановочных казни легко на dotCloud, вы можете сделать следующее:

Давайте предположим, что ваше приложение «рамен» и ваш сервис «WWW».

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

Это будет повторно выполнить постустановочный, но с вашей сессии на этот раз, так что вы сможете легко обновить код постустановочного и повторно запустить его без необходимости нажать снова и снова.

Как только вы нашли причину, исправьте ее локально и отмените приложение.