2017-01-04 3 views
0

Lorsque je tente d'exécuter le script python suivant avec:Python: communicateur ne détruit lors de la destruction globale

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

Quel est le communicateur et comment je le détruis?

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

Répondre

0

Lorsque vous appelez

ic = Ice.initialize() 

un communicateur est créé. vous pouvez le détruire comme ceci:

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

Oui, en fait, maintenant je reçois pas d'erreur lors de l'exécution de la commande. D'ailleurs, avez-vous une idée de la raison pour laquelle le serveur de rumeurs sur taxiprofessional.net ne répond pas, même s'il est installé et fonctionne correctement? –

+0

@FabrizioBartolomucci peut-être que vous pourriez définir les propriétés liées à la trace pour voir ce qui ne va pas. – eleq

+0

Comment y parvenir? –