Skip to main content
 首页 » 编程设计

python之停止扭曲时,工厂会等待 sql 执行完成吗

2025年05月04日19think

我想知道我是否停止使用

kill `cat twistd.pid` 

如果确实有一些 sql 执行提交,会发生什么? 它会等待执行完成吗?或者只是未知,可以完成还是放弃?

我知道如果我将执行放在 stopFactory 方法中,工厂会做诸如等待执行完成之类的事情。但如果我不这样做,我的意思是执行 stopFactory 方法,它会在工厂停止之前等待执行完成吗?

谢谢。

请您参考如下方法:

杀死发送SIGTERM默认情况下。 Twisted 安装 SIGTERM调用 reactor.stop() 的处理程序.当您调用 reactor.stop() 时会发生的任何事情当你使用那个 kill 时会发生命令。

更具体地说,任何关闭触发器都将运行。这意味着附加到 Application 的任何服务将有他们的 stopService调用的方法(如果返回 Deferred,它将被允许在关闭继续之前完成)。这也意味着 react 堆线程池中的工作线程将以有序的方式关闭 - 即,允许完成它们正在进行的任何工作。

如果您使用的是 adbapi,则 ConnectionPool使用自己的 ThreadPool并注册一个关闭触发器以类似有序的方式关闭该池。

因此,当您使用 kill要停止基于 Twisted 的进程,任何 SQL 中间执行都将被允许在关闭发生之前完成。