perl – 有没有办法查看AnyEvent事件队列

前端之家收集整理的这篇文章主要介绍了perl – 有没有办法查看AnyEvent事件队列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用AnyEvent异步编写的Perl项目.在测试期间,我的情况是我的代码中的错误导致在我的测试完成后调用阻塞的代码,因此测试看起来像是通过了,但阻塞的调用最终会在以后污染其他测试.

我想要发生的是在测试的拆解中,验证AnyEvent没有等待任何其他被阻止的调用.如果AnyEvent有任何尚未执行的调用,是否可以检查它?

解决方法@H_301_13@
我的第一个答案被删除了,因为问题在我回答之后发生了变化.这是相当令人沮丧的,所以如果你想得到答案,你真的不应该像这样改变你的问题,而是修改它们,所以上下文保持清晰.

无论如何,至于你的新问题,AnyEvent本身没有事件队列,所以你无法查看它.虽然一些底层事件库有一个事件队列,但有些事件没有,并且没有一个事件库公开导出它们的事件队列.

更糟糕的是,它甚至没有帮助,因为事件可能还没有在队列中,即使它发生了(例如,在处理某个事件时计时器可能会过去,所以它不会在事件队列中,但它或多或少会立即触发).

最后,AnyEvent(基于事件)永远不会等待被阻止的呼叫.

猜你在找的Perl相关文章