Python: коммуникатор не разрушается во время глобального уничтожения
Когда я пытаюсь выполнить следующий скрипт Python с:
/ usr / bin / python /var/www/html/iPhone/inarrivo/python/addMurmurChannel.py 14 Я получаю сообщение об ошибке: коммуникатор не уничтожен во время глобального уничтожения.
Что такое коммуникатор и как я его уничтожаю?
#!/usr/bin/python
import Ice
import inspect
import sys
#Ice.loadSlice("/usr/local/murmur/ice/Murmur.ice")
Ice.loadSlice( '', ['-I' + Ice.getSliceDir(), "/usr/local/murmur/ice/Murmur.ice"])
import Murmur
newChannelName=sys.argv[1]
# Init ice
comm = Ice.initialize()
# Let Ice know where to go to connect to mumble
# Let Ice know where to go to connect to mumble
proxy = comm.stringToProxy("Meta -e 1.0:tcp -p 6502")
# Create a dynamic object that allows us to get a programmable interface for Mumble
meta = Murmur.MetaPrx.checkedCast(proxy)
# Get the server instance from the set of servers.
server = meta.getServer(1)
found=False
channels = server.getChannels()
for value in channels.itervalues():
idChannel=value.id
if value.name == newChannelName:
found=True
break
if found==False:
server.addChannel(newChannelName, 0)
1 ответ
Решение
При звонке
ic = Ice.initialize()
коммуникатор создан. Вы можете уничтожить это так:
if ic:
# Clean up
try:
ic.destroy()
except:
traceback.print_exc()
status = 1
refrence: https://doc.zeroc.com/display/Ice36/Writing+an+Ice+Application+with+Python