我有一个简单的服务,大约可以执行以下操作:

  1. HTTP客户端连接到服务器
  2. 服务器将客户端的会话和时间戳写入数据库,并且在大多数情况下只是返回一个空响应

(实际工作和返回实际数据的情况与此问题无关)

为了尽快返回此响应,我想将信息写入请求处理程序的身体中的memcache(因为memcache很快),并在其中催生一个单独的线程,其中使用SQLalchemy的另一个函数将其写入持久性贮存。这样,我将能够在写入Memcache并产生线程后立即返回,并且请求处理程序将不必等到Sqlalchemy将信息保存到数据库中。

这有意义吗?如果是,我应该如何实施它?

有帮助吗?

解决方案

您可以使用像 芹菜分布式任务队列 卸载处理到其他机器。它确实需要设置单独的基础架构,但是将允许从Web请求中处理任务以在后台处理,而HTTP Repsonse可以立即返回到请求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top