]> err.no Git - dak/commitdiff
add key Common::ThreadCount to dak.conf
authorTorsten Werner <twerner@debian.org>
Sun, 4 Jul 2010 16:37:55 +0000 (18:37 +0200)
committerTorsten Werner <twerner@debian.org>
Sun, 4 Jul 2010 16:37:55 +0000 (18:37 +0200)
That is the default number of threads created for the ThreadPool() but
the value can be overwritten when calling the constructor.

Signed-off-by: Torsten Werner <twerner@debian.org>
config/debian/dak.conf
daklib/threadpool.py

index 5252788ba4f66d10aeb2ec3420f977af069de4b6..2eaccd7641b512c870650902e4e72942baef0e08 100644 (file)
@@ -653,3 +653,9 @@ Contents
   Header "contents";
   Root "/srv/ftp-master.debian.org/test/";
 }
+
+Common
+{
+  // The default number of threads for multithreading parts of dak:
+  ThreadCount 16;
+}
index 95a14a34de99218c97c2754418970d64fdb34a77..41ae34319a1c004155a20217454c97384fa396bf 100644 (file)
@@ -1,16 +1,13 @@
 import threading
 from time import sleep
 
+from daklib.config import Config
+
 # This code is a modified copy of
 # http://code.activestate.com/recipes/203871-a-generic-programming-thread-pool/
 # and is licensed under the Python License. The full text of the license
 # is available in the file COPYING-PSF.
 
-# FIXME:
-# numThreads defaults to 16 in __init__ to work best on
-# franck.debian.org but the default value should be specified in
-# dak.conf
-
 # Ensure booleans exist (not needed for Python 2.2.1 or higher)
 try:
     True
@@ -21,10 +18,11 @@ except NameError:
 class ThreadPool:
 
     """Flexible thread pool class.  Creates a pool of threads, then
-    accepts tasks that will be dispatched to the next available
-    thread."""
+    accepts tasks that will be dispatched to the next available thread.
+    The argument numThreads defaults to 'Common::ThreadCount' which must
+    be specified in dak.conf."""
 
-    def __init__(self, numThreads = 16):
+    def __init__(self, numThreads = Config()['Common::ThreadCount']):
 
         """Initialize the thread pool with numThreads workers."""