2013-06-23 4 views
13

Я пытаюсь развернуть КОЛБУ приложение для Heroku, однако при нажатии на код, который я получаю ошибкуРазвертывание колба с Heroku

2013-06-23T11:23:59.264600+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 

Я не уверен, что попробовать, я попытался изменить порт от 5000 до 33507, но безрезультатно. Моя PROCFILE выглядит следующим образом:

web: python main.py 

main.py является основным Колба файл, который инициирует сервер.

Спасибо.

+0

Можете ли вы разместить свой main.py (с любыми учетными данными базы данных и еще не удаленными) –

+0

Вы согласились бы на сообщение @msiemens в качестве ответа? –

ответ

4

Ваш сценарий main.py не может привязываться к определенному порту, ему необходимо привязать к номеру порта, установленному в переменной окружения $PORT. Heroku устанавливает требуемый порт в этой переменной до вызова вашего приложения.

Ошибка, которую вы получаете, предполагает, что вы привязываетесь к порту, который не тот, который ожидает Heroku.

28

В моей Колбе приложении, размещенном на Heroku, я использую этот код для запуска сервера:

if __name__ == '__main__': 
    # Bind to PORT if defined, otherwise default to 5000. 
    port = int(os.environ.get('PORT', 5000)) 
    app.run(host='0.0.0.0', port=port) 

При разработке локально, это будет использовать порт 5000, в производстве Heroku будет установить переменные окружения PORT.

(Side Примечание: По умолчанию, Колба доступен только с вашего компьютера, а не с какой-либо другой в сети (см Quickstart) Установка host='0.0.0.0' сделает Колба доступны из сети.)

+0

Идеальное решение для меня! оно работает – rodrigorf

0

В дополнение к msiemens «s ответ

import os 
from run import app as application 
if __name__ == '__main__': 
    port = int(os.environ.get('PORT', 5000)) 
    application.run(host='0.0.0.0', port=port) 

Ваш PROCFILE должен указать адрес порта, который в этом случае хранится в Heroku переменной окружения $ {PORT}

web: gunicorn --bind 0.0.0.0:${PORT} wsgi