Beispiel #1
0
 def test_is_midnight_for_domain(self):
     midnight = datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0)
     midnights = [
         (midnight, True),
         (midnight + timedelta(minutes=10), True),
         (midnight + timedelta(minutes=20), False),
         (midnight - timedelta(minutes=1), False),
     ]
     for midnight_candidate, expected in midnights:
         is_midnight = is_midnight_for_domain(midnight, current_time=midnight_candidate)
         self.assertEqual(is_midnight, expected)
Beispiel #2
0
 def test_is_midnight_for_domain(self):
     midnight = datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0)
     midnights = [
         (midnight, True),
         (midnight + timedelta(minutes=10), True),
         (midnight + timedelta(minutes=20), False),
         (midnight - timedelta(minutes=1), False),
     ]
     for midnight_candidate, expected in midnights:
         is_midnight = is_midnight_for_domain(midnight, current_time=midnight_candidate)
         self.assertEqual(is_midnight, expected)
Beispiel #3
0
def calculate_indicators():
    """
    Although this task runs every 15 minutes it only re-calculates the
    indicators for a domain if we're within 15 minutes after midnight in
    the domain's timezone.
    """
    domains = [
        domain
        for domain in get_call_center_domains()
        if is_midnight_for_domain(domain.midnight, error_margin=15)
    ]
    for domain in domains:
        all_cases = get_call_center_cases(domain.name, domain.cc_case_type)
        indicator_set = CallCenterIndicators(
            domain.name,
            domain.default_timezone,
            domain.cc_case_type,
            user=None,
            override_cases=all_cases,
            override_cache=True
        )
        indicator_set.get_data()
Beispiel #4
0
def calculate_indicators():
    """
    Although this task runs every 15 minutes it only re-calculates the
    indicators for a domain if we're within 15 minutes after midnight in
    the domain's timezone.
    """
    domains = [
        domain for domain in get_call_center_domains()
        for midnight in domain.midnights
        if is_midnight_for_domain(midnight, error_margin=20)
    ]
    logger.info(
        "Calculating callcenter indicators for domains:\n{}".format(domains))
    for domain in domains:
        all_cases = get_call_center_cases(domain.name, domain.cc_case_type)
        indicator_set = CallCenterIndicators(domain.name,
                                             domain.default_timezone,
                                             domain.cc_case_type,
                                             user=None,
                                             override_cases=all_cases,
                                             override_cache=True)
        indicator_set.get_data()