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_TasksStateUpdateService.py
Go to the documentation of this file.
1 '''
2 HCE project, Python bindings, Distributed Tasks Manager application.
3 TasksStateUpdateService object functional tests.
4 
5 @package: dtm
6 @author bgv bgv.hce@gmail.com
7 @link: http://hierarchical-cluster-engine.com/
8 @copyright: Copyright © 2013-2014 IOIX Ukraine
9 @license: http://hierarchical-cluster-engine.com/license/
10 @since: 0.1
11 '''
12 
13 import ConfigParser
14 import logging
15 import sys
16 import time
17 
18 from app.BaseServerManager import BaseServerManager
20 from transport.ConnectionBuilderLight import ConnectionBuilderLight
21 
22 import dtm.Constants as DTM_CONSTS
23 import transport.Consts as TRANSPORT_CONSTS
24 
25 
26 if __name__ == "__main__":
27  logger = logging.getLogger(DTM_CONSTS.LOGGER_NAME)
28  ch = logging.StreamHandler(sys.stdout)
29  ch.setLevel(logging.DEBUG)
30  logger.setLevel(logging.DEBUG)
31  formatter = logging.Formatter('%(asctime)s - %(thread)ld - %(threadName)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s')
32  ch.setFormatter(formatter)
33  logger.addHandler(ch)
34 
35  TEST_TITLE = "Test "
36  TEST_TITLE_OBJECT = " object:\n"
37  TTL = 60000 * 60
38 
39  #Test TasksStateUpdateService instantiation
40  CONFIG_SECTION = "TasksStateUpdateService"
41  config = ConfigParser.RawConfigParser()
42  config.add_section(CONFIG_SECTION)
43  config.set(CONFIG_SECTION, "clientTasksManager", "TasksManager")
44  config.set(CONFIG_SECTION, "serverHost", "127.0.0.1")
45  config.set(CONFIG_SECTION, "serverPort", "5500")
46  config.set(CONFIG_SECTION, "clientExecutionEnvironmentManager", "ExecutionEnvironmentManager")
47  config.set(CONFIG_SECTION, "checkStateInterval", "10")
48  config.set(CONFIG_SECTION, "checkStateTasks", "20")
49 
50  #Dependent objects creation
51  connectionBuilderLight = ConnectionBuilderLight()
52  #Admin server connection simulator
53  adminServerConnection = connectionBuilderLight.build(TRANSPORT_CONSTS.SERVER_CONNECT,
54  BaseServerManager.ADMIN_CONNECT_ENDPOINT)
55  #TasksManager connection simulator
56  serverConnection = connectionBuilderLight.build(TRANSPORT_CONSTS.SERVER_CONNECT, "TasksManager")
57  #ExecutionEnvironmentManager connection simulator
58  serverConnection2 = connectionBuilderLight.build(TRANSPORT_CONSTS.SERVER_CONNECT, "ExecutionEnvironmentManager")
59 
60  #Create instance
62  print TEST_TITLE + tsus.__class__.__name__ + TEST_TITLE_OBJECT, vars(tsus)
63  tsus.setName(tsus.__class__.__name__)
64  tsus.start()
65  time.sleep(TTL)
66  tsus.exit_flag = True
67 
68  print "Stopped after" + str(TTL) + " sec of run!"
69 
70 
The TasksStateUpdateService class, is a listener of tasks state updates from DRCE FO of cluster nodes...
Class hides routines of bulding connection objects.