[Erp5-report] r28957 - in /erp5/trunk/products: CMFActivity/ ERP5/Tool/ TimerService/timers...
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Sep 11 15:06:46 CEST 2009
Author: vincent
Date: Fri Sep 11 15:06:45 2009
New Revision: 28957
URL: http://svn.erp5.org?rev=28957&view=rev
Log:
Remove the need to resolve hostname to determine node identifier when http server explicitely listens on a non-wilcard address.
Also, fix timerserver startup when http server listens on a non-wilcard address.
Modified:
erp5/trunk/products/CMFActivity/ActivityTool.py
erp5/trunk/products/ERP5/Tool/AlarmTool.py
erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py
Modified: erp5/trunk/products/CMFActivity/ActivityTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/ActivityTool.py?rev=28957&r1=28956&r2=28957&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/ActivityTool.py [utf8] (original)
+++ erp5/trunk/products/CMFActivity/ActivityTool.py [utf8] Fri Sep 11 15:06:45 2009
@@ -692,16 +692,17 @@
""" Return current node in form ip:port """
global currentNode
if currentNode is None:
- port = ''
+ ip = port = ''
from asyncore import socket_map
for k, v in socket_map.items():
- if hasattr(v, 'port'):
+ if hasattr(v, 'addr'):
# see Zope/lib/python/App/ApplicationManager.py: def getServers(self)
type = str(getattr(v, '__class__', 'unknown'))
if type == 'ZServer.HTTPServer.zhttp_server':
- port = v.port
+ ip, port = v.addr
break
- ip = socket.gethostbyname(socket.gethostname())
+ if ip == '0.0.0.0':
+ ip = socket.gethostbyname(socket.gethostname())
currentNode = '%s:%s' %(ip, port)
return currentNode
Modified: erp5/trunk/products/ERP5/Tool/AlarmTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/AlarmTool.py?rev=28957&r1=28956&r2=28957&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/AlarmTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/AlarmTool.py [utf8] Fri Sep 11 15:06:45 2009
@@ -226,16 +226,17 @@
""" Return current node in form ip:port """
global current_node
if current_node is None:
- port = ''
+ ip = port = ''
from asyncore import socket_map
for k, v in socket_map.items():
- if hasattr(v, 'port'):
+ if hasattr(v, 'addr'):
# see Zope/lib/python/App/ApplicationManager.py: def getServers(self)
type = str(getattr(v, '__class__', 'unknown'))
if type == 'ZServer.HTTPServer.zhttp_server':
- port = v.port
+ ip, port = v.addr
break
- ip = socket.gethostbyname(socket.gethostname())
+ if ip == '0.0.0.0':
+ ip = socket.gethostbyname(socket.gethostname())
current_node = '%s:%s' %(ip, port)
return current_node
Modified: erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py
URL: http://svn.erp5.org/erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py?rev=28957&r1=28956&r2=28957&view=diff
==============================================================================
--- erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py [utf8] (original)
+++ erp5/trunk/products/TimerService/timerserver/timerserver/TimerServer.py [utf8] Fri Sep 11 15:06:45 2009
@@ -40,19 +40,21 @@
# wait until the zhttp_server exist in socket_map
# because TimerService has to be started after the Zope HTTPServer
from asyncore import socket_map
+ ip = port = ''
while 1:
time.sleep(5)
for k, v in socket_map.items():
- if hasattr(v, 'port'):
+ if hasattr(v, 'addr'):
# see Zope/lib/python/App/ApplicationManager.py: def getServers(self)
type = str(getattr(v, '__class__', 'unknown'))
if type == 'ZServer.HTTPServer.zhttp_server':
- port = v.port
+ ip, port = v.addr
break
if port:
break
- ip = socket.gethostbyname(socket.gethostname())
+ if ip == '0.0.0.0':
+ ip = socket.gethostbyname(socket.gethostname())
# To be very sure, try to connect to the HTTPServer
# and only start after we are able to connect and got a response
More information about the Erp5-report
mailing list