2017-01-04 13 views
0

Когда я пытаюсь выполнить следующий скрипт питона с:Python: коммуникатор не разрушен во время глобального разрушения

/usr/bin/python /var/www/html/iPhone/inarrivo/python/addMurmurChannel.py 14 I receive error: communicator not destroyed during global destruction.

Что такое коммуникатор, и как я его уничтожить?

#!/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) 

ответ

0

При вызове

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#WritinganIceApplicationwithPython-WritingaClientinPython

+0

Да, на самом деле сейчас я не получаю никакой ошибки при выполнении команды. Если у вас есть идеи, почему сервер murmur на taxiprofessional.net не отвечает, несмотря на то, что он установлен и правильно работает? –

+0

@FabrizioBartolomucci, возможно, вы можете установить свойства, связанные с трассировкой, чтобы узнать, что не так. – eleq

+0

Как это достичь? –