我有一项简单的服务,大致可以做到以下几点:
(它确实做了实际工作并返回实际数据的情况与此问题无关)
为了尽快返回此响应,我想在请求处理程序的正文中将信息写入memcache(因为memcache很快),并生成一个单独的线程,其中另一个使用SQLAlchemy的函数会编写它到持久存储。这样,我就可以在写入memcache并生成一个线程后立即返回,并且请求处理程序不必等到SQLAlchemy将信息保存到数据库。
这有意义吗?如果是,我该如何实施呢?
答案 0 :(得分:2)
您可以使用类似Celery distributed task queue的内容将处理卸载到其他计算机上。它确实需要设置一个单独的基础架构,但允许从Web请求中切换任务以便在后台处理,而对请求的HTTP repsonse可以立即返回。