【发布时间】:2023-10-06 10:49:01
【问题描述】:
我需要创建一个可以接受多个作业请求的 python 服务器。然后从它请求的那些中,它一次处理每个作业,但服务器在处理任务时仍然可以接受新作业。
有人对如何做到这一点有建议吗?
谢谢
【问题讨论】:
-
你的意思是多线程吗?
-
不,我不想使用多线程。
我需要创建一个可以接受多个作业请求的 python 服务器。然后从它请求的那些中,它一次处理每个作业,但服务器在处理任务时仍然可以接受新作业。
有人对如何做到这一点有建议吗?
谢谢
【问题讨论】:
当然。创建一个multiprocessing.Pool,默认情况下每个核心生成一个进程。然后使用原始进程运行 HTTP 服务或通过某种协议接受作业的其他东西。然后主进程监听新请求并将它们提交到池中进行异步处理。
【讨论】:
使用twisted。 Twisted 是一个事件驱动的网络引擎。 Twisted 还支持许多常见的网络协议,包括 SMTP、POP3、IMAP、SSHv2 和 DNS。
【讨论】: