<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cache_warmup(strategy_name, *args, **kwargs):
 """ Warm up cache. This task periodically hits charts to warm up the cache. """

    logger.info('Loading strategy')
    class_ = None
    for class_ in strategies:
        if class_.name == strategy_name:
            break
    else:
        message = f'No strategy {strategy_name} found!'
        logger.error(message)
        return message

    logger.info(f'Loading {class_.__name__}')
    try:
        strategy = class_(*args, **kwargs)
        logger.info('Success!')
    except TypeError:
        message = 'Error loading strategy!'
        logger.exception(message)
        return message

    results = {'success': [], 'errors': []}
    for url in strategy.get_urls():
        try:
            logger.info(f'Fetching {url}')
            requests.get(url)
            results['success'].append(url)
        except RequestException:
            logger.exception('Error warming up cache!')
            results['errors'].append(url)

    return results