如果在先前的计算完成之前有新的请求到来,Tensorflow服务将失败

时间:2018-09-21 16:57:49

标签: python load-balancing gunicorn tensorflow-serving

我目前有一个使用flask,gunicorn和nginx运行的Web api,该Web api称为我的tensorflow模型服务端口。当在第一次完成之前多次调用Web API时,tensorflow模型失败将给出一个空请求。

处理此问题的最佳方法是什么?我的Web API当前已经位于gunicorn和nginx后面,但是从api到tensorflow模型的调用似乎是问题所在。我是否也应该将其放在gunicorn / nginx负载均衡器后面?

谢谢

1 个答案:

答案 0 :(得分:1)

您有几种选择。

  1. 请几个工人。每位枪手工人将加载一个模型。这必须在开始时完成,因为加载模型会花费一些时间。工人可以处理几份请愿书。
  2. 使用state machine:空闲,正在处理。如果在处理时收到GET,则会引发异常,并引发503 Service Unavailable。