Total Complexity | 3 |
Total Lines | 50 |
Duplicated Lines | 0 % |
Coverage | 0% |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | """ |
||
14 | class NodeActionMessageEventHandler(NodeActionMessageBaseEventHandler): |
||
15 | """ |
||
16 | An event handler for a NodeActionMessage received events. |
||
17 | """ |
||
18 | |||
19 | # ------------------------------------------------------------------------------------------------------------------ |
||
20 | @staticmethod |
||
21 | def handle(_event, message, controller): |
||
22 | """ |
||
23 | Handles a NodeActionMessage received event. |
||
24 | |||
25 | :param * _event: Not used. |
||
26 | :param enarksh.controller.message.NodeActionMessage.NodeActionMessage message: The message. |
||
27 | :param enarksh.controller.Controller.Controller controller: The controller. |
||
28 | """ |
||
29 | del _event |
||
30 | |||
31 | log = logging.getLogger('enarksh') |
||
32 | |||
33 | # Compose a response message for client. |
||
34 | response = {'ret': 0, |
||
35 | 'message': 'OK'} |
||
36 | |||
37 | try: |
||
38 | run_node = DataLayer.enk_back_run_node_find_by_uri(message.uri) |
||
39 | |||
40 | if run_node: |
||
41 | NodeActionMessageBaseEventHandler.base_handle(controller, |
||
42 | response, |
||
43 | run_node['sch_id'], |
||
44 | run_node['rnd_id'], |
||
45 | message.act_id) |
||
46 | response['ret'] = 0 |
||
47 | response['message'] = 'Node {} has been queued'.format(message.uri) |
||
48 | |||
49 | else: |
||
50 | response['ret'] = 1 |
||
51 | response['message'] = 'Node {} does not exists'.format(message.uri) |
||
52 | |||
53 | DataLayer.commit() |
||
54 | except Exception as exception: |
||
55 | log.exception('Error') |
||
56 | |||
57 | response['ret'] = -1 |
||
58 | response['message'] = str(exception) |
||
59 | |||
60 | DataLayer.rollback() |
||
61 | |||
62 | # Send response message to the CLI client. |
||
63 | controller.message_controller.send_message('lockstep', response) |
||
64 | |||
66 |