【问题标题】:How to split django views request into several ones如何将 django 视图请求拆分为多个
【发布时间】:2020-05-26 11:55:16
【问题描述】:

我有 Django 应用程序,它可以进行很多不同的分析

这是视图的结构:

def analysis(request):
   making analysis 1 
    ...
   making analysis 2 
    ...
   making analysis 3 
    ...

    ........

   making analysis 50 
    ...
return render(request, 'checkapp/shots.html', var)

问题是所有这些分析大约需要 1-2 分钟。在开发过程中,我在本地测试了我的应用程序,它在那里运行良好。但是当我在 Heroku 上部署它时,结果证明 heroku 有 30 秒的超时限制。

如何将这个过程分成几个较小的过程,例如,我可以每 10 秒获得一次响应?

或者我的问题有其他解决方案吗?

【问题讨论】:

  • 根据您的 django 项目的设置,最直接的策略是将您的方法拆分为不同的视图,并在初始页面加载后使用 AJAX 异步调用视图。

标签: python django heroku


【解决方案1】:

您可以使用后台作业来处理您的分析,而不是将分析逻辑放入视图中。

您可以在需要时对每个分析使用celery task。

例如:

@app.task()
def making_analysis_1(*args):
    ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 2017-12-04
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2020-12-17
    相关资源
    最近更新 更多