Package invocations :: Package monitoring :: Module createCalendar :: Class WorkerThread
[hide private]

Class WorkerThread

source code


A worker thread that takes directory names from a queue, finds all files in them recursively and reports the result.

Input is done by placing directory names (as strings) into the Queue passed in dir_q.

Output is done by placing tuples into the Queue passed in result_q. Each tuple is (thread name, dirname, {file numbers by pattern}).

Ask the thread to stop by calling its join() method.

Instance Methods [hide private]
 
__init__(self, dir_q, result_q, pattern)
This constructor should always be called with keyword arguments.
source code
 
run(self)
Run the threads.
source code
 
join(self, timeout=None)
Wait until the thread terminates.
source code
 
_files_in_dir(self, dirName)
Given a directory name, yields the number of all files of the given regex patterns contained in this directory.
source code

Inherited from threading.Thread: __repr__, getName, isAlive, isDaemon, is_alive, setDaemon, setName, start

Inherited from threading.Thread (private): _reset_internal_locks, _set_daemon, _set_ident

Inherited from threading._Verbose (private): _note

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from threading.Thread: daemon, ident, name

Inherited from threading.Thread (private): _block

Inherited from object: __class__

Method Details [hide private]

__init__(self, dir_q, result_q, pattern)
(Constructor)

source code 

This constructor should always be called with keyword arguments. Arguments are:

*group* should be None; reserved for future extension when a ThreadGroup class is implemented.

*target* is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

*name* is the thread name. By default, a unique name is constructed of the form "Thread-N" where N is a small decimal number.

*args* is the argument tuple for the target invocation. Defaults to ().

*kwargs* is a dictionary of keyword arguments for the target invocation. Defaults to {}.

If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

Overrides: object.__init__
(inherited documentation)

run(self)

source code 

Run the threads.

Overrides: threading.Thread.run

join(self, timeout=None)

source code 

Wait until the thread terminates.

This blocks the calling thread until the thread whose join() method is called terminates -- either normally or through an unhandled exception or until the optional timeout occurs.

When the timeout argument is present and not None, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof). As join() always returns None, you must call isAlive() after join() to decide whether a timeout happened -- if the thread is still alive, the join() call timed out.

When the timeout argument is not present or None, the operation will block until the thread terminates.

A thread can be join()ed many times.

join() raises a RuntimeError if an attempt is made to join the current thread as that would cause a deadlock. It is also an error to join() a thread before it has been started and attempts to do so raises the same exception.

Overrides: threading.Thread.join
(inherited documentation)