Example #1
0
    def __init__(self, app_data_folder, poll_period_sec):
        super().__init__()
        self.app_data_folder = app_data_folder
        self.exit_event = threading.Event()
        self.event_table = TableEvents()
        self.node_table = TableNodes()
        self.poll_period_sec = poll_period_sec
        pref = preferences.Preferences(self.app_data_folder)
        self.s3 = latus.aws.LatusS3(pref)

        latus.logger.log.info('poll period : %f sec' % float(self.poll_period_sec))
Example #2
0
 def run(self):
     pref = preferences.Preferences(self.app_data_folder)
     while not self.exit_event.is_set():
         latus.logger.log.info('starting poll')
         self._sync_with_aws(pref)
         latus.logger.log.info('poll complete')
         self.exit_event.wait(timeout=self.poll_period_sec)
     self.event_filter.request_exit()
     self.event_filter.join(latus.const.LONG_TIME_OUT)
     if self.event_filter.isAlive():
         logger.log.warn('g_event_filter is still alive')
     logger.log.info('exiting node "%s"' % pref.get_node_id())
Example #3
0
    def __init__(self, app_data_folder, poll_period_sec, use_aws_local, event_filter):
        super().__init__()
        self.app_data_folder = app_data_folder
        self.event_filter = event_filter

        self.exit_event = threading.Event()
        pref = preferences.Preferences(self.app_data_folder)
        self.active_timer = activity_timer.ActivityTimer(pref.get_node_id() + '_' + self.get_type())
        self.aws_event_table = TableEvents(use_aws_local)
        self.node_table = TableNodes(use_aws_local)
        self.poll_period_sec = poll_period_sec
        self.s3 = latus.aws.aws_access.LatusS3(pref, use_aws_local)

        latus.logger.log.info('poll period : %f sec' % float(self.poll_period_sec))
Example #4
0
    def __init__(self, app_data_folder, use_aws_local):

        # there is no "super().__init__()"

        self.app_data_folder = app_data_folder
        self.use_aws_local = use_aws_local
        pref = preferences.Preferences(app_data_folder)

        self.active_timer = activity_timer.ActivityTimer(pref.get_node_id() + '_' + self.get_type())

        self.event_filter = EventFilter()
        self.event_filter.start()

        if pref.get_upload_logs():
            self.usage_uploader = latus.usage.LatusUsageUploader(60*60)  # todo: make usage upload period a preference variable
            latus.logger.add_http_handler()
        else:
            self.usage_uploader = None

        self.s3 = latus.aws.aws_access.LatusS3(pref, use_aws_local)

        self.table_node = TableNodes(use_aws_local)
        self.table_node.register(pref.get_node_id())

        self.latus_folder = pref.get_latus_folder()
        util.make_dir(self.latus_folder)

        self.observer = watchdog.observers.Observer()
        self.observer.schedule(self, self.latus_folder, recursive=True)

        latus.nodedb.NodeDB(self.app_data_folder, pref.get_node_id(), True)  # make DB if doesn't already exist

        self.fs_scan(DetectionSource.initial_scan)

        # todo: this needs to be in a separate class so that we can have a test value and a value from advanced preferences
        if use_aws_local:
            poll_period = latus.const.POLL_PERIOD
        else:
            poll_period = 10*60  # should be from advanced preferences
        self.aws_db_sync = AWSDBSync(self.app_data_folder, poll_period, use_aws_local, self.event_filter)
Example #5
0
    def __init__(self, app_data_folder):

        # there is no "super().__init__()"

        self.app_data_folder = app_data_folder
        pref = preferences.Preferences(app_data_folder)

        self.active_timer = activity_timer.ActivityTimer(3, pref.get_node_id() + '_' + self.get_type())

        if pref.get_upload_logs():
            self.usage_uploader = latus.usage.LatusUsageUploader(60*60)  # todo: make usage upload period a preference variable
            latus.logger.add_http_handler()
        else:
            self.usage_uploader = None

        if pref.get_aws_local():
            latus.aws.local_testing()
        latus.aws.init()
        self.s3 = latus.aws.LatusS3(pref)

        self.table_node = TableNodes()
        self.table_node.register(pref.get_node_id())

        self.latus_folder = pref.get_latus_folder()
        util.make_dir(self.latus_folder)

        self.observer = watchdog.observers.Observer()
        self.observer.schedule(self, self.latus_folder, recursive=True)

        latus.nodedb.NodeDB(self.app_data_folder, pref.get_node_id(), True)  # make DB if doesn't already exist

        self.fs_scan(DetectionSource.initial_scan)

        if pref.get_aws_local():
            poll_period = latus.const.FILTER_TIME_OUT * 2
        else:
            poll_period = 10*60
        self.aws_db_sync = AWSDBSync(self.app_data_folder, poll_period)
Example #6
0
 def run(self):
     pref = preferences.Preferences(self.app_data_folder)
     while not self.exit_event.is_set():
         self._pull_down_new_db_entries(pref)
         self._sync(pref)
         self.exit_event.wait(timeout=self.poll_period_sec)