HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
ftest_MPLogger.py
Go to the documentation of this file.
1 #!/usr/bin/python
2 # coding: utf-8
3 
4 import os
5 import sys
6 import logging.config
7 import threading
8 import time
9 
10 from app.Utils import MPLogger
11 
12 import ppath
13 
14 
15 class TestApp(object):
16  # Initialization
17  def __init__(self, number, logFileName):
18  self.number = number
19  self.logger = self.__getLogger(logFileName)
20  self.logger.debug("Initialized... %s", str(self.number))
21 
22 
23  def __getLogger(self, logFileName):
24 
25  logging.basicConfig(level=logging.DEBUG,
26  format='%(asctime)s %(levelname)s %(message)s',
27  filename=logFileName,
28  filemode='w')
29 
30  return MPLogger().getLogger()
31 
32 
33  def run(self):
34  self.logger.debug("Runned...%s", str(self.number))
35 
36 
37  def close(self):
38  self.logger.debug("Finished...%s", str(self.number))
39 
40 
41 def worker(number, logFileName, start):
42  """thread worker function"""
43  print 'Worker: %s' % number
44  try:
45  app = TestApp(number, logFileName)
46  app.run()
47  app.close()
48  except Exception, err:
49  sys.stderr.write(str(err) + '\n')
50 
51  return
52 
53 
54 
55 count = 3
56 logFileName = '../../log/logger.test.log'
57 start = False
58 
59 threads = []
60 for i in range(count):
61  t = threading.Thread(target=worker, args=(i, logFileName, start))
62  threads.append(t)
63  t.start()
64 
65 start = True
66 
67 for t in threads:
68  t.join()
69 
def __init__(self, number, logFileName)
def worker(number, logFileName, start)
def __getLogger(self, logFileName)