[Erp5-report] r45920 guillaume.bottex - /slapos/trunk/util/slapos.tool.nosqltester_manager/...
nobody at svn.erp5.org
nobody at svn.erp5.org
Sun Jun 19 19:03:23 CEST 2011
Author: guillaume.bottex
Date: Sun Jun 19 19:03:22 2011
New Revision: 45920
URL: http://svn.erp5.org?rev=45920&view=rev
Log:
Now uses thread instead of process, and fixes.
Modified:
slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py
Modified: slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py?rev=45920&r1=45919&r2=45920&view=diff
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py [utf8] (original)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py [utf8] Sun Jun 19 19:03:22 2011
@@ -30,7 +30,7 @@
from flask import Flask, abort, request, render_template, send_file
from pkg_resources import iter_entry_points, get_distribution
from logging import Formatter
-from threading import Lock
+from threading import Thread
import sys, os, getopt, tarfile, tempfile, bz2
import logging, logging.handlers
import urllib, urllib2
@@ -187,9 +187,9 @@ class NoSQLTesterManager(object):
:param format: compression format. (with a leading *'.'*)
:type format: str.
"""
- if format == ".bz2":
+ if format == "bz2":
return bz2.decompress(cdata)
- elif format == ".zip":
+ elif format == "zip":
raise NotImplementedError
else:
raise ValueError, "Unknown format: %s" % str(format)
@@ -314,7 +314,9 @@ class NoSQLTesterManager(object):
f.write(data)
f.close()
- if 'partial' in request.form and request.form['partial'] == False:
+ if 'partial' in request.form and request.form['partial'] == unicode(True):
+ pass
+ else:
self.todo -= 1
if self.todo == 0:
@@ -356,6 +358,15 @@ class NoSQLTesterManager(object):
pass
+def sheduler_thread(scheduler, read):
+ s = ""
+ while s != "END":
+ time.sleep(1)
+ scheduler.do_scheduling(action='START')
+ s = os.read(read, 255)
+ time.sleep(1)
+ os.close(read)
+
def go(params):
"""
@@ -369,19 +380,12 @@ def go(params):
scheduler.default_init()
r, w = os.pipe()
- pid = os.fork()
- if pid == 0:
- s = ""
- while s != "END":
- time.sleep(1)
- scheduler.do_scheduling(action='START')
- s = os.read(r, 255)
- time.sleep(1)
- os.close(r)
- os._exit(os.EX_OK)
- else:
- scheduler.setWritePipe(w)
- scheduler.waitForReports(host=params['address'], port=params['port'])
+ scheduler.setWritePipe(w)
+
+ t = Thread(target=scheduler_thread, args=(scheduler, r,))
+ t.start()
+
+ scheduler.waitForReports(host=params['address'], port=params['port'])
def usage():
"""
More information about the Erp5-report
mailing list