对不起模糊的标题,但我找不到更好的东西。扭曲的反应堆得到当前状态
有什么方法可以使反应堆的当前状态扭转? 通过状态我的意思是:
- 侦听的端口
- 互联协议
- Deferreds正在等待被解雇
- LoopingCalls运行
- 主题是 “闲置”
- 和其他“活跃”的东西...
基本上我试图弄清楚反应堆是否只是坐着。 这个问题本身比我实际需要做的更广泛,为了完成stackoverflow。
现在,我目前的情况如下:
我用别人的脚本,就由这个人的脚本选择很多“动态”端口监听,所以我不能只是用我的脚本执行listenTCP或TCP4ServerEndpoint之类的操作并检查它的状态。 这有点类似于非PASV FTP,每次使用后每个侦听端口都会被丢弃。 另一个问题是我自己的小程序也运行在同一个进程中,我用它作为参数来启动他的程序。这基本上是他的程序的一个接口。当他所有的事情都完成了,我的事情也完成了,我想关闭反应堆。因此,我试图弄清楚什么时候可以停止反应堆。 我的确切情况关机如下:
- 只能监听1端口,而不能监听其他端口。
- 没有缓存,也没有loopingCalls会发射。
我搜索,但只发现像“如reactor.running”或Stop twisted reactor on a condition,需要通过使用标志保持跟踪的东西。 我不想碰他的代码。如果这可能会导致扭曲,我宁愿这样做。 但是,如果已经有其他选择,我宁愿不重新发明轮子。
他的脚本是否需要更改,以便通知脚本这些条件?
感谢标志符号的答案。 – SleepyMan 2012-08-03 14:10:52
谢谢@Glyph的答案。按习惯进入。我真的不想惹他的代码因为我的哲学与他的冲突。但是如何将我的代码与IService集成在一起?不同的进程通过套接字通信?好吧,无论如何,我会通知他他的剧本需要改变。同时,在实际贡献之前,我会尝试更多地了解一下扭曲的内部结构(我认为了解扭曲的哲学是很好的,对吧?)。学习这些东西的唯一方法是阅读源代码或将它记录在某处? – SleepyMan 2012-08-03 14:24:43