gpt4 book ai didi

Django - 是否应该始终通过任务处理程序(例如 Celery)发出外部 API 请求?

转载 作者:行者123 更新时间:2023-12-01 11:21:14 30 4
gpt4 key购买 nike

我有一个 Django 应用程序,我在其中创建了一个自定义中间件。

它的工作原理如下:

  • 中间件拦截每个请求中的 token (用于标识用户),并使用该 token 向外部 API 发出请求。
  • 外部 API 返回发出原始请求的用户具有的权限。
  • 中间件完成,用户根据其权限获取返回的数据

  • 这是我的问题:
    因为我的应用程序必须等待 API 请求返回才能处理请求,所以使用 celery 等任务队列是否仍然有意义?在我等待响应时,它不是仍然需要阻塞线程吗?

    最佳答案

    不,在这里使用 Celery 根本没有任何意义。这适用于可以完全处于进程外的任务。一个很好的例子是发送确认电子邮件;发送到浏览器的响应不必等待发送电子邮件,因为它不以任何方式依赖它。

    在您的情况下,响应明确取决于 API 的值。使用 Celery 没有任何好处,而且会使整个过程比它需要的复杂得多。

    关于Django - 是否应该始终通过任务处理程序(例如 Celery)发出外部 API 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657786/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com