背景
我有一个网络应用程序可以从用户输入创建图像。
创建图像可能需要几秒钟。
问题
如果我让服务器线程(即处理请求/响应的线程)也生成映像,这将使一个线程捆绑几秒钟,并可能使我的服务器陷入困境,影响性能,杀死小狗等。
问题
我是否应该使用任务队列(如Celery)以便服务器可以放弃创建映像,并返回到处理请求/响应?我可以让创建图像的用户等待,但我不希望它影响其他人访问该网站。

最佳答案

我现在要说不。
几秒钟没那么长。
无论如何,您必须实现某种轮询(或Comet处理)才能将图像反馈给用户。
这将使您的系统更加复杂。
设计了该系统,使得以后添加任务队列是可行的和容易的。
所以,首先要保持简单,并使其正常工作,但请记住,稍后可能会添加一个任务队列。
当/如果需要扩展时,实现该任务队列。

08-28 09:20