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 -*-
import logging
from threading import Timer, Lock
from threading import Timer, Lock, Event
from time import sleep
from sjrpc.client import SimpleRpcClient
from sjrpc.utils import ConnectionProxy
......@@ -18,6 +18,7 @@ class CCNode(object):
'''
self._scheduler_timer = None
self._scheduler_mutex = Lock()
self._scheduler_stopped = Event()
self._handler = handlers.NodeHandler(self, hypervisor, exec_cmd,
force_xen)
self._manager = SimpleRpcClient.from_addr(server, port, enable_ssl=True,
......@@ -27,7 +28,12 @@ class CCNode(object):
def run(self):
'''
'''
self._manager.run()
try:
self._manager.run()
except:
pass # FIXME
finally:
self._scheduler_stopped.set()
def authentify(self, login, password):
'''
......@@ -62,9 +68,10 @@ class CCNode(object):
'''
'''
with self._scheduler_mutex:
self._handler.scheduler_run()
sleep(0.1)
self._scheduler_rearm()
if not self._scheduler_stopped.is_set():
self._handler.scheduler_run()
sleep(0.1)
self._scheduler_rearm()
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