运行以下功能时:
#returns list of hostIds on network;
def getHostsOnNetwork(surveyResults, hosts):
notifEnabledMacs = [host['macAddr']
for host in hosts.values()
if host['notificationEnabled']
]
macsOnNetwork = [host['mac'] for host in surveyResults]
return [host['id']
for host in hosts.values()
if host['macAddr'] in macsOnNetwork
]
我将manager.dict
对象作为“主机”传递。因此,我收到以下错误:
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/usr/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "main.py", line 101, in notifsProducer
oldHostSet = currentHostSet
File "/home/patrick/notificationApp;/networking.py", line 82, in getHostsOnNetwork
for host in hosts.values()
File "<string>", line 2, in values
File "/usr/lib/python3.8/multiprocessing/managers.py", line 834, in _callmethod
conn.send((self._id, methodname, args, kwds))
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/connection.py", line 411, in _send_bytes
self._send(header + buf)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 368, in _send
n = write(self._handle, buf)
BrokenPipeError: [Errno 32] Broken pipe
编译器似乎试图写入manager.dict对象,但为什么?我不改变函数中的任何值。如何解决此错误
感谢您的指导。谢谢
目前没有回答
相关问题 更多 >
编程相关推荐