Python 中的多线程 Falcon

Djo*_*oko 6 python multithreading falconframework

我正在使用Falcon为应用程序创建 REST API 。当在不同端点上向 API 发起两个或多个请求时,不存在多线程执行(必须完成一个请求才能执行下一个请求)

问题来自于执行复杂机器学习过程(需要几十秒才能完成)的 POST 端点,并且在执行该过程时整个 API 被阻塞,因为它等待该过程完成以返回一些结果。

我正在使用 wsgiref simple_server 来服务请求:

if __name__ == '__main__':
    httpd = simple_server.make_server('127.0.0.1', 8000, app)
    httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)

有没有办法使执行并行以同时服务多个请求。

小智 2

服务器可能没有以多进程或多线程模式运行。

但即使是这样,占用 Web 服务器来执行长时间运行的任务也不是一个好主意。长时间运行的任务应该由其他一些工作进程运行。

看看芹菜