在 django、python2 中更新数据库之前返回 JSONResponse

Posted

技术标签:

【中文标题】在 django、python2 中更新数据库之前返回 JSONResponse【英文标题】:Return JSONResponse before updating database in django, python2 【发布时间】:2021-11-26 10:52:39 【问题描述】:

我有一个在 python2.7 上运行的项目。该项目很旧,但仍然需要在收到请求时更新数据库。但是更新过程需要时间并以超时结束。在更新数据库之前是否有返回 JsonResponse/Httpresponse,以免发生超时。我知道这样做不合逻辑,但这是一个临时修复。

另外,我不能使用异步,因为它是 python2

【问题讨论】:

代码在哪里?你使用 DRF 吗? 代码有点大。我不使用 DRF。就像我提到它是一个旧项目一样,我只需要返回状态 200,然后继续进行数据库更新。请求端点不会等待更新数据库所花费的时间@hansTheFranz 你需要一些后台工作,比如 celery v4。 docs.celeryproject.org/en/stable/getting-started/…. 【参考方案1】:

使用多处理或多线程,这将使用另一个进程执行您的任务,并将 HTTP 响应快速发送到客户端

【讨论】:

以上是关于在 django、python2 中更新数据库之前返回 JSONResponse的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 Django 中未应用的迁移?

(centos6.6)在更新python2.7.3之前是python 2.6.6。运行 pybot --version 时出现错误

为啥在 Django 中更新我的 HTML 之前必须重新加载两次?

Django在ModelViewSet中保存之前更改值

django python - 关系不存在

如何从 Django 发送异步 HTTP 请求并在 python2.7 中等待结果?