【问题标题】:Nginx/Gunicorn timeout when running query that takes 2+ minutes to complete on django在 django 上运行需要 2 分钟以上才能完成的查询时 Nginx/Gunicorn 超时
【发布时间】:2017-05-22 18:19:26
【问题描述】:

我正在使用connections['report'].cursor() 运行一个最多需要 3 分钟才能完成 django 的查询

当我向执行该查询的视图发出请求时,Nginx 会给我一个超时时间(在视图中显示为“502 Bad Gateway”)。

我应该选择什么方法来克服这个问题?我应该增加超时设置还是如何使这个异步?

【问题讨论】:

    标签: django nginx timeout gunicorn


    【解决方案1】:

    第一种方法(最简单):您可以增加超时设置。这样,您的用户将不得不等待很长时间。用户体验不好。

    第二种方法(中等难度):如果您的用户不必等待该请求(例如发送电子邮件),您可以将该任务委托给后台工作人员。在 Django 社区中,这通常由 celery

    完成

    第三种方法(最困难 - 最佳体验):使用django-channelsweb sockets。如果您不熟悉这些技术,这将花费大量时间。

    根据您的情况选择。希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 2018-05-20
      • 1970-01-01
      相关资源
      最近更新 更多