zhouhailin / freeswitch-externals

FreeSWITCH externals projects
https://zhouhailin.github.io/freeswitch-externals/
Apache License 2.0
163 stars 83 forks source link

CUSTOM事件会重复触发? #26

Closed wenfer closed 2 years ago

wenfer commented 2 years ago

看了下日志,是2个不同的线程同时触发一个事件,这个可以配置吗

wenfer commented 2 years ago

我是这样监听事件的 inboundClient.setEventSubscriptions(inboundClient.option().serverAddrOption().first(), "plain", "CUSTOM test");

zhouhailin commented 2 years ago

看了下日志,是2个不同的线程同时触发一个事件,这个可以配置吗

是可以配置的,可以通过disablePublicExecutor参数禁用PublicExecutor线程池,然后自己创建线程池处理相关事件

wenfer commented 2 years ago

看了下日志,是2个不同的线程同时触发一个事件,这个可以配置吗

是可以配置的,可以通过disablePublicExecutor参数禁用PublicExecutor线程池,然后自己创建线程池处理相关事件

这个方法我试了下,结果不知道为何有一个通话的hangup没有收到事件,导致后续的呼叫都无法进行了

zhouhailin commented 2 years ago

看了下日志,是2个不同的线程同时触发一个事件,这个可以配置吗

是可以配置的,可以通过disablePublicExecutor参数禁用PublicExecutor线程池,然后自己创建线程池处理相关事件

这个方法我试了下,结果不知道为何有一个通话的hangup没有收到事件,导致后续的呼叫都无法进行了

应该不会出现,需要相关日志进行排查。

wenfer commented 2 years ago

看了下日志,是2个不同的线程同时触发一个事件,这个可以配置吗

是可以配置的,可以通过disablePublicExecutor参数禁用PublicExecutor线程池,然后自己创建线程池处理相关事件

这个方法我试了下,结果不知道为何有一个通话的hangup没有收到事件,导致后续的呼叫都无法进行了

应该不会出现,需要相关日志进行排查。

应该是线程没有释放,禁用了publicExecutor后是单线程的client了吧,开启配置后又好了

zhouhailin commented 2 years ago

看了下日志,是2个不同的线程同时触发一个事件,这个可以配置吗

是可以配置的,可以通过disablePublicExecutor参数禁用PublicExecutor线程池,然后自己创建线程池处理相关事件

这个方法我试了下,结果不知道为何有一个通话的hangup没有收到事件,导致后续的呼叫都无法进行了

应该不会出现,需要相关日志进行排查。

应该是线程没有释放,禁用了publicExecutor后是单线程的client了吧,开启配置后又好了

禁用了publicExecutor后,你自己需要使用线程池处理事件。