最简单的异步解决方案,用于CPU密集型工作

时间:2019-02-19 20:49:49

标签: python asynchronous redis architecture flask-restful

我有一个小应用程序(烧瓶RESTful),它得到一个字符串并对其进行一些计算,然后返回一些值(通过/失败+原因失败)。计算该测试大约需要50〜70毫秒。

在我当前的设置中,我有几个工作人员(每个内核约1个)运行该应用程序。我被要求使此异步(本质上是有一个端点几乎可以立即对发出调用的单个线程做出响应)。

因此,在计算解决方案之后,从响应几个请求转移到以确认响应,然后用答复触发请求。

提出的解决方案是redis队列,它们将任务推送到队列中,我解决了这些问题,并将答案推送到另一个队列。

那真的是最好的选择吗?如果是这样,我如何建立/管理在此队列中工作的工人池?

还是我制作一个被调用的异步应用程序,执行后响应200,然后异步等待当前应用程序/设置的请求。然后我该如何答复?将答案推送到Redis队列中?

那么最好的解决方案是什么?有想法吗?最好的定义是:KISS,这是生产,不会放弃任何请求,而且速度很快。

0 个答案:

没有答案