Exemple #1
0
def reload_all_aos():
    logger.info("Weekly (%s) reload of all AOs starting",
                datetime.date.today().strftime("%A"))
    load_advisory_opinions()
    logger.info("Weekly (%s) reload of all AOs completed",
                datetime.date.today().strftime("%A"))
    slack_message = 'Weekly reload of all AOs completed in {0} space'.format(
        get_app_name())
    utils.post_to_slack(slack_message, '#bots')
Exemple #2
0
def create_es_backup():
    try:
        logger.info("Weekly (%s) elasticsearch backup starting", datetime.date.today().strftime("%A"))
        create_elasticsearch_backup()
        logger.info("Weekly (%s) elasticsearch backup completed", datetime.date.today().strftime("%A"))
        slack_message = 'Weekly elasticsearch backup completed in {0} space'.format(get_app_name())
        utils.post_to_slack(slack_message, '#bots')
    except Exception as error:
        logger.exception(error)
        slack_message = '*ERROR* elasticsearch backup failed for {0}. Check logs.'.format(get_app_name())
        utils.post_to_slack(slack_message, '#bots')
Exemple #3
0
def delete_cached_calls_from_s3():
    """
    Deletes all files and folders under the cached-calls folder from S3.
    """
    bucket = utils.get_bucket()

    for obj in bucket.objects.filter(Prefix='cached-calls/'):
        obj.delete()

    slack_message = 'Successfully deleted the contents of the `cached-calls` folder in {0} from S3'.format(
        env.space)
    web_utils.post_to_slack(slack_message, '#bots')
    logger.info(slack_message)
Exemple #4
0
def refresh_materialized_views():
    """Update incremental aggregates, itemized schedules, materialized views,
    then slack a notification to the development team.
    """
    manage.logger.info('Starting nightly refresh...')
    try:
        manage.refresh_materialized()
        download.clear_bucket()
        slack_message = '*Success* nightly updates for {0} completed'.format(
            get_app_name())
        utils.post_to_slack(slack_message, '#bots')
        manage.logger.info(slack_message)
    except Exception as error:
        manage.logger.exception(error)
        slack_message = '*ERROR* nightly update failed for {0}. Check logs.'.format(
            get_app_name())
        utils.post_to_slack(slack_message, '#bots')
Exemple #5
0
def refresh():
    """Update incremental aggregates, itemized schedules, materialized views,
    then slack a notification to the development team.
    """
    manage.logger.info('Starting nightly refresh...')
    try:
        manage.refresh_itemized()
        manage.refresh_materialized()
        download.clear_bucket()
        slack_message = '*Success* nightly updates for {0} completed'.format(env.get_credential('NEW_RELIC_APP_NAME'))
        utils.post_to_slack(slack_message, '#bots')
        manage.logger.info(slack_message)
    except Exception as error:
        manage.logger.exception(error)
        slack_message = '*ERROR* nightly update failed for {0}. Check logs.'.format(env.get_credential('NEW_RELIC_APP_NAME'))
        utils.post_to_slack(slack_message, '#bots')
        manage.logger.exception(error)
Exemple #6
0
def reload_all_aos_when_change():
    """
    Reload all AOs if there were any new or modified AOs found for the past 24 hour period
    """
    with db.engine.connect() as conn:
        row = conn.execute(DAILY_MODIFIED_STARTING_AO).first()
        if row:
            logger.info("AO found %s modified at %s", row["ao_no"], row["pg_date"])
            logger.info("Daily (%s) reload of all AOs starting", datetime.date.today().strftime("%A"))
            load_advisory_opinions()
            logger.info("Daily (%s) reload of all AOs completed", datetime.date.today().strftime("%A"))
            slack_message = 'Daily reload of all AOs completed in {0} space'.format(get_app_name())
            utils.post_to_slack(slack_message, '#bots')
        else:
            logger.info("No daily (%s) modified AOs found", datetime.date.today().strftime("%A"))
            slack_message = \
                'No modified AOs found for the day - Reload of all AOs skipped in {0} space'.format(get_app_name())
            utils.post_to_slack(slack_message, '#bots')
Exemple #7
0
def slack_message(message):
    """ Sends a message to the bots channel. you can add this command to ping you when a task is done, etc.
    run ./manage.py slack_message 'The message you want to post'
    """
    post_to_slack(message, '#bots')
Exemple #8
0
def slack_message(message):
    """ Sends a message to the bots channel. you can add this command to ping you when a task is done, etc.
    run ./manage.py slack_message 'The message you want to post'
    """
    post_to_slack(message, '#bots')