Commit f844ca79 authored by Jérome Perrin's avatar Jérome Perrin

WSGI: Start timerserver from wsgi script

This is a step to be able to run ERP5 on zope4, where servers are no longer started by ZConfig.

This will be used by slapos!1114

See merge request !1529
parents b092cb06 9fc3cf28
Pipeline #19315 failed with stage
in 0 seconds
......@@ -158,6 +158,7 @@ def runwsgi():
parser.add_argument('-w', '--webdav', action='store_true')
parser.add_argument('address', help='<ip>:<port>')
parser.add_argument('zope_conf', help='path to zope.conf')
parser.add_argument('--timerserver-interval', help='Interval for timerserver', type=float)
args = parser.parse_args()
startup = os.path.dirname(Zope2.Startup.__file__)
......@@ -169,6 +170,13 @@ def runwsgi():
from Signals.SignalHandler import SignalHandler
SignalHandler.registerHandler(signal.SIGTERM, sys.exit)
if args.timerserver_interval:
import Products.TimerService
Products.TimerService.timerserver.TimerServer.TimerServer(
module='Zope2',
interval=args.timerserver_interval,
)
ip, port = splitport(args.address)
port = int(port)
createServer(
......
......@@ -101,8 +101,8 @@ class TimerServer(threading.Thread):
err = StringIO()
response = TimerResponse(out, err)
handle(module, TimerRequest(response, interval), response)
except:
pass
except Exception:
logger.warn("Ignoring exception in run loop", exc_info=True)
TIMER_SERVICE_PATH = '/Control_Panel/timer_service'
......@@ -110,7 +110,7 @@ TIMER_ENVIRON = {
'REQUEST_METHOD': 'GET',
'SERVER_SOFTWARE': 'TimerServer for Zope',
'SERVER_NAME': '',
'SERVER_PORT': '',
'SERVER_PORT': '-1',
'REMOTE_ADDR': '',
'GATEWAY_INTERFACE': 'CGI/1.1',
'SERVER_PROTOCOL': 'HTTP/1.0',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment