сервис фляг на героку

Я пытаюсь понять, как запустить веб-сервис на героку, используя флягу и JSONRPC. Я хотел бы добраться до точки, где с моего рабочего стола я могу делать:

from flask_jsonrpc.proxy import ServiceProxy

service = ServiceProxy('http://<myapp>.heroku.com/api')
result = service.App.index()
print result

глядя на журналы heroku, я вижу:

2014-07-05T13:18:42.910030+00:00 app[web.1]: 2014-07-05 13:18:42 [2] [INFO] Listening at: http://0.0.0.0:21040 (2)

и попробуйте использовать этот порт с помощью:

service = ServiceProxy('http://<myapp>.heroku.com:21020/api')

все еще не работает (кажется зависшим)

Но когда я запускаю это через мастера, я могу получить к нему доступ, и, похоже, он работает нормально.

но когда я пытаюсь использовать развернутое приложение, я получаю:

ValueError: No JSON object could be decoded

Это приложение (я мало что знаю, но просто посмотреть, как работает героку)

import os
from flask import Flask
from flask_jsonrpc import JSONRPC

app = Flask(__name__)

jsonrpc = JSONRPC(app, '/api', enable_web_browsable_api=True)

@jsonrpc.method('App.index')
def index():
    return u'Welcome to Flask JSON-RPC'

if __name__ == '__main__':
    port = int(os.environ.get("PORT", 5000))
app.run(host='0.0.0.0', debug=True, port=port)

это содержимое моего Procfile:

web: gunicorn run:app -p $PORT

Я пропустил что-то очевидное здесь? Ваше здоровье.

L.

p.S

доступ к http://.heroku.com/api/browse из мастера и развернутого приложения, кажется, работает нормально.

[редактировать]

решено:

да, я что-то упустил .... посмотрев журнал лучше, я заметил хост, который был:

host=<myapp>.herokuapp.com 

вместо .heroku.com

Поменяв адрес на правильный, вроде все работает нормально. http://.herokuapp.com/api


person hdd    schedule 05.07.2014    source источник


Ответы (1)


Все отсортировано, смотрите исходный пост. Извините за шум.

person hdd    schedule 06.07.2014