Skip to content
Snippets Groups Projects
Commit d9b83cf9 authored by Thibault VINCENT's avatar Thibault VINCENT
Browse files

fix: scheduler timer locking, tried to correct problems after successive reconnections

parent 930a5cbd
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging import logging
from threading import Timer, Lock from threading import Timer, Lock, Event
from time import sleep from time import sleep
from sjrpc.client import SimpleRpcClient from sjrpc.client import SimpleRpcClient
from sjrpc.utils import ConnectionProxy from sjrpc.utils import ConnectionProxy
...@@ -18,6 +18,7 @@ class CCNode(object): ...@@ -18,6 +18,7 @@ class CCNode(object):
''' '''
self._scheduler_timer = None self._scheduler_timer = None
self._scheduler_mutex = Lock() self._scheduler_mutex = Lock()
self._scheduler_stopped = Event()
self._handler = handlers.NodeHandler(self, hypervisor, exec_cmd, self._handler = handlers.NodeHandler(self, hypervisor, exec_cmd,
force_xen) force_xen)
self._manager = SimpleRpcClient.from_addr(server, port, enable_ssl=True, self._manager = SimpleRpcClient.from_addr(server, port, enable_ssl=True,
...@@ -27,7 +28,12 @@ class CCNode(object): ...@@ -27,7 +28,12 @@ class CCNode(object):
def run(self): def run(self):
''' '''
''' '''
self._manager.run() try:
self._manager.run()
except:
pass # FIXME
finally:
self._scheduler_stopped.set()
def authentify(self, login, password): def authentify(self, login, password):
''' '''
...@@ -62,9 +68,10 @@ class CCNode(object): ...@@ -62,9 +68,10 @@ class CCNode(object):
''' '''
''' '''
with self._scheduler_mutex: with self._scheduler_mutex:
self._handler.scheduler_run() if not self._scheduler_stopped.is_set():
sleep(0.1) self._handler.scheduler_run()
self._scheduler_rearm() sleep(0.1)
self._scheduler_rearm()
def get_server(self): def get_server(self):
''' '''
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment