【问题标题】:Non Blocking calls using Tornado and Python Eve使用 Tornado 和 Python Eve 的非阻塞调用
【发布时间】:2016-10-16 14:50:00
【问题描述】:

我有一个使用 Tornado 的 Eve 应用程序。

http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)
IOLoop.instance().start()

我对我的 API 进行了一个后期调用,该调用需要很长时间,并在该过程完成后向用户发送一封邮件。 如何使呼叫非阻塞,以便用户不必等待。

谢谢 直流

【问题讨论】:

    标签: python tornado eve


    【解决方案1】:

    Eve 是用 Flask 编写的,因此设计它是阻塞代码,没有简单的方法让它神奇地非阻塞。在龙卷风中运行你的前夕项目也无济于事。但是,您可以使用 gunicornhendrix 来分叉您的 wsgi 应用程序,充当代理,并让您的项目看起来像是以非阻塞方式运行。但我建议使用异步/线程任务运行程序(类似于celery)来发送邮件。此方法将要求您使用任务运行器重写您的邮件功能。我希望这会有所帮助,如果没有,请提供更多示例来说明您的代码的作用,也许我们可以提供帮助。

    【讨论】:

    • 谢谢。是的,我走过那条路。完美运行。我花了一些时间来弄清楚。
    猜你喜欢
    • 1970-01-01
    • 2013-01-26
    • 2023-03-22
    • 2013-11-12
    • 1970-01-01
    • 2021-08-28
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多