Commit 4f909687 authored by Arnaud Fontaine's avatar Arnaud Fontaine Committed by Jérome Perrin

WIP: py3: ZServer removed.

parent 009f788e
......@@ -86,7 +86,9 @@ def File_viewAsWeb(self):
# For Pdata type, we must iterate and send chunk by chunk.
# And no need to continue if the client closed the connection.
while data and not RESPONSE.stdout._channel.closed:
while data:
if six.PY2 and RESPONSE.stdout._channel.closed:
break
# Send data to the client.
RESPONSE.write(data.data)
# Load next object without keeping previous chunks in memory.
......
......@@ -8,7 +8,6 @@ if six.PY2:
from UserDict import IterableUserDict as UserDict
else:
from collections import UserDict
import Lifetime
import transaction
from Testing import ZopeTestCase
from zope.globalrequest import setRequest
......@@ -152,14 +151,6 @@ class ProcessingNodeTestCase(ZopeTestCase.TestCase):
"""
_server_address = None # (host, port) of the http server if it was started, None otherwise
@staticmethod
def asyncore_loop():
try:
Lifetime.lifetime_loop()
except KeyboardInterrupt:
pass
Lifetime.graceful_shutdown_loop()
@staticmethod
def startHTTPServer(verbose=False):
"""Start HTTP Server in background"""
......@@ -316,9 +307,6 @@ class ProcessingNodeTestCase(ZopeTestCase.TestCase):
ZopeTestCase._print(' %i' % message_count)
old_message_count = message_count
portal_activities.process_timer(None, None)
if Lifetime._shutdown_phase:
# XXX CMFActivity contains bare excepts
raise KeyboardInterrupt
message_list = getMessageList()
message_count = len(message_list)
if time.time() >= deadline or message_count and any(x.processing_node == -2
......@@ -387,7 +375,7 @@ class ProcessingNodeTestCase(ZopeTestCase.TestCase):
"""Main loop for nodes that process activities"""
setRequest(self.app.REQUEST)
try:
while not Lifetime._shutdown_phase:
while True:
time.sleep(.3)
transaction.begin()
try:
......@@ -419,7 +407,7 @@ class ProcessingNodeTestCase(ZopeTestCase.TestCase):
timerserver_thread = None
try:
while not Lifetime._shutdown_phase:
while True:
time.sleep(.3)
transaction.begin()
try:
......
......@@ -474,10 +474,8 @@ class DebugTestResult:
self.result = result
def _start_debugger(self, tb):
import Lifetime
if Lifetime._shutdown_phase:
return
try:
raise ImportError()
# try ipython if available
import IPython
try:
......@@ -646,11 +644,9 @@ def runUnitTestList(test_list, verbosity=1, debug=0, run_only=None):
TestRunner = unittest.TextTestRunner
import Lifetime
from Zope2.custom_zodb import Storage, save_mysql, \
node_pid_list, neo_cluster, zeo_server_pid, wcfs_server
def shutdown(signum, frame, signum_set=set()):
Lifetime.shutdown(0)
signum_set.add(signum)
if node_pid_list is None and len(signum_set) > 1:
# in case of ^C, a child should also receive a SIGHUP from the parent,
......
import six
if six.PY2:
from ZServer.datatypes import ServerFactory
class TimerServerFactory(ServerFactory):
def __init__(self, section):
ServerFactory.__init__(self)
self.interval = section.interval
def create(self):
from .TimerServer import TimerServer
return TimerServer(self.module, self.interval)
<component>
<import package="ZServer" />
<sectiontype name="timer-server"
datatype="Products.TimerService.timerserver.TimerServerFactory"
implements="ZServer.server">
<key name="interval" datatype="float" default="600">
<description>
Interval in seconds. Supports fractions of a second.
</description>
</key>
</sectiontype>
</component>
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