SRS3.0 流叠图 RuntimeError: dictionary changed size during iteration
来源:互联网 发布:linux shutdown now 编辑:程序博客网 时间:2024/06/07 13:18
参考SRS wiki:https://github.com/ossrs/srs/wiki/v3_CN_Snapshot
在使用最新srs3.0版本流叠图功能时,经过长时间的测试,出现如下报错:
[23/Jun/2017:23:15:56] ENGINE Error in 'main' listener <bound method SrsWorker.main of <__main__.SrsWorker object at 0x26df690>>Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/CherryPy-3.2.4-py2.6.egg/cherrypy/process/wspbus.py", line 197, in publish output.append(listener(*args, **kwargs)) File "research/api-server/server.py", line 930, in main for url in self.__snapshots:RuntimeError: dictionary changed size during iterationTraceback (most recent call last): File "research/api-server/server.py", line 1048, in <module> cherrypy.quickstart(root, '/', conf) File "/usr/lib/python2.6/site-packages/CherryPy-3.2.4-py2.6.egg/cherrypy/__init__.py", line 174, in quickstart engine.block() File "/usr/lib/python2.6/site-packages/CherryPy-3.2.4-py2.6.egg/cherrypy/process/wspbus.py", line 302, in block self.wait(states.EXITING, interval=interval, channel='main') File "/usr/lib/python2.6/site-packages/CherryPy-3.2.4-py2.6.egg/cherrypy/process/wspbus.py", line 357, in wait _wait() File "/usr/lib/python2.6/site-packages/CherryPy-3.2.4-py2.6.egg/cherrypy/process/wspbus.py", line 344, in _wait self.publish(channel) File "/usr/lib/python2.6/site-packages/CherryPy-3.2.4-py2.6.egg/cherrypy/process/wspbus.py", line 215, in publish raise exccherrypy.process.wspbus.ChannelFailures: RuntimeError('dictionary changed size during iteration',)
报警提示:在SRS目录research/api-server/server.py 930行,
来到server.py文件
class SrsWorker(cherrypy.process.plugins.SimplePlugin): def __init__(self, bus): cherrypy.process.plugins.SimplePlugin.__init__(self, bus); self.__snapshots = {} def start(self): print "srs worker thread started" def stop(self): print "srs worker thread stopped" def main(self): for url in self.__snapshots: //930行 snapshot = self.__snapshots[url] diff = time.time() - snapshot['timestamp'] process = snapshot['process'] # aborted. if process is not None and snapshot['abort']: process.kill() process.poll() del self.__snapshots[url] print 'abort snapshot %s'%snapshot['cmd'] break
将其修改为 for url in self.__snapshots.keys():
重新运行 :
python research/api-server/server.py 8085
ok了!!
阅读全文
0 0
- SRS3.0 流叠图 RuntimeError: dictionary changed size during iteration
- python RuntimeError: dictionary changed size during iteration
- python3 RuntimeError: dictionary changed size during iteration
- RuntimeError: dictionary changed size during iteration,可变参数,关键字参数
- dictionary changed size during iteration
- python3 .6 下 报错 RuntimeError: dictionary changed size during iteration
- Python 字典 dictionary changed size during iteration
- Python3对字典操作时遇到错误:dictionary changed size during iteration
- poj 4025 Dictionary Size
- UVALive - 5913 Dictionary Size
- uva 1519 Dictionary Size
- Neerc2011 Dictionary Size
- find: . changed during execution of find
- xsql utility question- Runtimeerror: Dictionary was generated without -nosort option
- UVALive 5913 Dictionary Size (Trie)
- ORA-19906: recovery target incarnation changed during recovery
- Packet size limited during capture: RADIUS truncated
- UVALive 5913 Dictionary Size 解题报告
- BZOJ3994 莫比乌斯反演
- 【poj1151】Atlantis(矩形面积并+线段树+扫描线)
- linux CentOS下yum安装MemCached
- Quartz中时间表达式的设置-----corn表达式
- Java解析xml的四种方法介绍
- SRS3.0 流叠图 RuntimeError: dictionary changed size during iteration
- java设计模式---单例
- 温习(一)——快速幂
- Agile&DevOps究竟谁是魔法棒
- 微信扫一扫开发
- 修改wifi验证错误次数
- OpenGL矩阵类(C++)
- js 图片校验
- 兼容ie8的ajax文件上传