heroku上的烧瓶服务

时间:2014-07-05 13:41:47

标签: python heroku flask json-rpc

我正在试图找出如何使用flask和JSONRPC在heroku上运行Web服务。 我想从我的桌面上做到这一点:

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

这是应用程序(我知道的不多,但只是为了了解heroku如何工作)

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

1 个答案:

答案 0 :(得分:0)

全部排序,请参阅原始帖子。 对不起噪音。