Exemplo n.º 1
0
    def _max_acceptable_lag_for_period(self, td):
        """ Get the max acceptable lagtime for the timedelta between backups.


        args:
            td      - the timedelta between backups
        """
        return int(timedelta_total_seconds(td) / 2)
Exemplo n.º 2
0
    def _calculate_queue_latency(self, task):
        if isinstance(task, Backup):
            occurrence_date = task.plan_occurrence or task.created_date
        else:
            occurrence_date = task.created_date

        latency_secs = timedelta_total_seconds(task.start_date -
                                               occurrence_date)

        return round(latency_secs/60, 2)
Exemplo n.º 3
0
    def _calculate_queue_latency(self, task):
        if isinstance(task, Backup):
            occurrence_date = task.plan_occurrence or task.created_date
        else:
            occurrence_date = task.created_date

        latency_secs = timedelta_total_seconds(task.start_date -
                                               occurrence_date)

        return round(latency_secs/60, 2)
Exemplo n.º 4
0
    def _process_plans_considered_now(self, process_max_count=None):
        count = 0
        start_date = date_now()
        for plan in self._get_plans_to_consider_now(limit=process_max_count):
            self._plans_queue.put(plan)
            if process_max_count:
                count += 1
                if count >= process_max_count:
                    break
        # wait for workers to finish
        self._plans_queue.join()

        if count:
            time_elapsed = timedelta_total_seconds(date_now() - start_date)
            logger.info("Finished processing %s plans in %s seconds" % ((count or "all"), time_elapsed))
    def _process_plans_considered_now(self, process_max_count=None):
        count = 0
        start_date = date_now()
        for plan in self._get_plans_to_consider_now(limit=process_max_count):
            self._plans_queue.put(plan)
            if process_max_count:
                count += 1
                if count >= process_max_count:
                    break
        # wait for workers to finish
        self._plans_queue.join()

        if count:
            time_elapsed = timedelta_total_seconds(date_now() - start_date)
            logger.info("Finished processing %s plans in %s seconds" %
                        ((count or "all"), time_elapsed))
    def compute_lag(self, master_status):
        """Given two 'members' elements from rs.status(),
        return lag between their optimes (in secs).
        """
        my_status = self.rs_status

        if not my_status:
            details = ("Unable to determine replicaset status for member '%s'"
                       % self)
            raise ConnectionError(self._uri_wrapper.masked_uri,
                                  details=details)

        lag_in_seconds = abs(timedelta_total_seconds(
            master_status['optimeDate'] -
            my_status['optimeDate']))

        self._lag_in_seconds = lag_in_seconds
        return self._lag_in_seconds
    def compute_lag(self, master_status):
        """Given two 'members' elements from rs.status(),
        return lag between their optimes (in secs).
        """
        my_status = self.member_rs_status

        if not my_status:
            details = (
                "Unable to determine replicaset status for member '%s'" % self)
            raise ConnectionError(self._uri_wrapper.masked_uri,
                                  details=details)

        lag_in_seconds = abs(
            timedelta_total_seconds(master_status['optimeDate'] -
                                    my_status['optimeDate']))

        self._lag_in_seconds = lag_in_seconds
        return self._lag_in_seconds