【问题标题】:Which requests should be handled by the webserver and which by a task queue worker?哪些请求应该由网络服务器处理,哪些由任务队列工作者处理?
【发布时间】:2021-12-03 02:31:02
【问题描述】:

我正在开发一个使用 Celery 来安排和执行用户作业请求的 Python Web 应用程序。

大多数情况下,用户提交的请求无法立即得到解决,因此将它们安排在队列中对我来说是有意义的。

但是,现在我已经有了整个队列架构,我很困惑是否应该将所有请求处理逻辑委托给队列/workers,或者是否应该将一些工作留给网络服务器本身。

例如,除了作业调度,有时用户只需要执行简单的数据库查询,或检索静态 JSON 文件。我是否也应该将这些“同步”请求委托给队列/工作人员?

现在,我的网络服务器控制器除了验证传入的 JSON 请求模式并将它们转发到队列之外什么都不做。拥有这样一个愚蠢的网络服务器有什么优点和缺点?

【问题讨论】:

    标签: python celery task-queue


    【解决方案1】:

    我相信你现在拥有它的方式加上现在给工人提供小工作是好的。这样一来,一旦发生攻击或大量请求涌入,工作人员将首先超载。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 2014-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多