0

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

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

(它做实际工作并返回实际数据的情况与这个问题无关)

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

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

4

1 回答 1

2

您可以使用诸如Celery 分布式任务队列之类的东西将处理任务卸载到其他机器上。它确实需要设置一个单独的基础设施,但允许将任务从 Web 请求移交给后台处理,而对请求的 HTTP 响应可以立即返回。

于 2010-09-03T11:43:07.600 回答