0

我有一个直接来自入门示例的简单 falcon 应用程序

import falcon
import json


class QuoteResource:
    def on_get(self, req, resp):
        """Handles GET requests"""
        quote = {
            'quote': 'I\'ve always been more interested in the future than in the past.',
            'author': 'Grace Hopper'
        }

        resp.body = json.dumps(quote)


api = falcon.API()
api.add_route('/quote', QuoteResource())

代码在一个名为manage.py

当我尝试运行gunicorn manage:app 这就是我得到的

2017-06-04 20:47:18 -0700] [2370] [INFO] Starting gunicorn 19.7.1
[2017-06-04 20:47:18 -0700] [2370] [INFO] Listening at: http://127.0.0.1:8000 (2370)
[2017-06-04 20:47:18 -0700] [2370] [INFO] Using worker: sync
[2017-06-04 20:47:18 -0700] [2373] [INFO] Booting worker with pid: 2373
Failed to find application: 'manage'
[2017-06-04 20:47:18 -0700] [2373] [INFO] Worker exiting (pid: 2373)
[2017-06-04 20:47:18 -0700] [2370] [INFO] Shutting down: Master
[2017-06-04 20:47:18 -0700] [2370] [INFO] Reason: App failed to load.

我在这里做错了什么?

4

1 回答 1

1

不确定这是一个错字还是因为误解,但您应该以这种方式启动应用程序:

gunicorn manage:api

但不是gunicorn manage:app

manage:api选项告诉调用api在 manage.py 模块中定义的对象。否则,您需要在代码中将api变量重命名app为。

然后,您可以通过访问以下 url 检查应用程序是否正在运行:

http://localhost:8000/quote

默认情况下端口应该8000,但您需要在 gunicorn 启动时检查它。它应该是这样的:

[INFO] Listening at: http://127.0.0.1:8000
于 2017-06-05T04:15:42.157 回答