class MonitorResourceDataChanges(object): _instance = None @classmethod def getInstance(cls, *args, **kwargs): if cls._instance == None: cls._instance = cls() return cls._instance def __init__(self, *args, **kwargs): options = {'since':_getLastSavedSequence()} log.debug("\n\n-----"+pprint.pformat(options)+"------\n\n") self.resourceDataChangeMonitor = MonitorChanges(appConfig['couchdb.url.dbadmin'], appConfig['couchdb.db.resourcedata'], _RESOURCE_DATA_CHANGE_HANDLERS, options) self.resourceDataChangeMonitor.start() self.incomingChangeMonitor = MonitorChanges(appConfig['couchdb.url.dbadmin'], incomingDB, _INCOMING_CHANGE_HANDLERS, {'since':-1}) self.incomingChangeMonitor.start() #changeMonitor.start(threading.current_thread()) def atExitHandler(): self.resourceDataChangeMonitor.terminate() self.incomingChangeMonitor.terminate() log.debug("Last change in Resource Data: {0}\n\n".format(self.resourceDataChangeMonitor._lastChangeSequence)) log.debug("Last change in Incoming: {0}\n\n".format(self.incomingChangeMonitor._lastChangeSequence)) atexit.register(atExitHandler)
class MonitorResourceDataChanges(object): _instance = None @classmethod def getInstance(cls, *args, **kwargs): if cls._instance == None: cls._instance = cls() return cls._instance def __init__(self, *args, **kwargs): options = {'since': _getLastSavedSequence()} log.debug("\n\n-----" + pprint.pformat(options) + "------\n\n") self.resourceDataChangeMonitor = MonitorChanges( appConfig['couchdb.url.dbadmin'], appConfig['couchdb.db.resourcedata'], _RESOURCE_DATA_CHANGE_HANDLERS, options) self.resourceDataChangeMonitor.start() self.incomingChangeMonitor = MonitorChanges( appConfig['couchdb.url.dbadmin'], incomingDB, _INCOMING_CHANGE_HANDLERS, {'since': -1}) self.incomingChangeMonitor.start() #changeMonitor.start(threading.current_thread()) def atExitHandler(): self.resourceDataChangeMonitor.terminate() self.incomingChangeMonitor.terminate() log.debug("Last change in Resource Data: {0}\n\n".format( self.resourceDataChangeMonitor._lastChangeSequence)) log.debug("Last change in Incoming: {0}\n\n".format( self.incomingChangeMonitor._lastChangeSequence)) atexit.register(atExitHandler)