예제 #1
0
 def _proxy_start_active_mode(self):
     if self.link:
         try:
             if self._proxy_sid is None:  #have not started subscription service yet
                 if self.proxy_direction == GET_ONLY:
                     self._proxy_active_source = self._proxy_linked_node()
                     if self._proxy_active_source is None:
                         raise ENotStarted()
                     self._proxy_active_destination = self
                 else:  #SET_ONLY
                     self._proxy_active_source = self
                     self._proxy_active_destination = self._proxy_linked_node(
                     )
                     if self._proxy_active_destination is None:
                         raise ENotStarted()
                 self._proxy_active_queue = Queue()
                 self._proxy_sid = SM.create_delivered(
                     self, {1: self._proxy_active_source})
                 if self.debug:
                     print 'Active proxy %s started successfully' % (
                         self.name)
         except:
             #it didn't work.  Setup schedule to try again in x seconds.
             if self._retry_win_high < 90:
                 self._retry_win_high += 1
             retry_in = randint(int(self._retry_win_high * .66),
                                self._retry_win_high)
             scheduler.seconds_from_now_do(retry_in,
                                           self._proxy_start_active_mode)
             #raise  #took this out since it mostly just served to force the scheduler tread to restart
             if self.debug: msglog.exception()
예제 #2
0
 def setUp(self):
     DefaultTestFixture.setUp(self)
     self.lock = Lock()
     self.pool = ThreadPool(3)
     self.queue = Queue()
     self.simple_action_counter = 0
     return
예제 #3
0
 def _startmanager(self):
     self._queue = queue = Queue()
     self._stopflag = stopflag = Flag()
     self._thread = thread = ImmortalThread(name=self.url,
                                            target=self._runmanager,
                                            args=(stopflag, queue))
     thread.start()
예제 #4
0
 def __init__(self):
     self.__alarm_queue = Queue()
     self.__current_thread = None
     self.__lock = Lock()
     self._init_default_attribute_values()
     Client.__init__(self)
     return
예제 #5
0
 def __init__(self):
     ServiceNode.__init__(self)
     EventConsumerMixin.__init__(self, self.handle_alarm, \
                                 self.handle_exception)
     self.__running = 0
     self.__queue = Queue()
     self._id_manager = None
     self._dynamic_alarms = {}
     return
예제 #6
0
 def __init__(self):
     self.__server = None
     self.__sched_lock = Lock()
     self.__sched_thread = None
     self.__schedules = Queue()
     self.__pv = None
     super(LightingGroup, self).__init__()
     EventConsumerMixin.__init__(self, self._sched_update,
                                 self._sched_exception)
     return
예제 #7
0
 def __init__(self):
     ARMNode.__init__(self)
     AutoDiscoveredNode.__init__(self)
     self._lock = Lock()
     self.conversion_list = {}
     self._queue = Queue()
     self.debug = 0
     self.running = 0
     self._start_called = 0
     self.devices = ''
     self.device_addresses = []
     self._been_discovered = 0