Mforns has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/384530 )
Change subject: Fix refinery banner activity cleaner to allow for email alerts ...................................................................... Fix refinery banner activity cleaner to allow for email alerts Bug: T178302 Change-Id: I9c6ef64c94a414a60a2e3c45f0969eb5b69fd670 --- M bin/refinery-drop-banner-activity-partitions 1 file changed, 37 insertions(+), 11 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/analytics/refinery refs/changes/30/384530/1 diff --git a/bin/refinery-drop-banner-activity-partitions b/bin/refinery-drop-banner-activity-partitions index 10672e0..0d44c51 100755 --- a/bin/refinery-drop-banner-activity-partitions +++ b/bin/refinery-drop-banner-activity-partitions @@ -41,19 +41,45 @@ import os +# Set up logging to be split: +# INFO+DEBUG+WARNING -> stdout +# ERROR -> stderr +# Thanks to https://stackoverflow.com/users/5124424/zoey-greer +class LessThanFilter(logging.Filter): + def __init__(self, exclusive_maximum, name=""): + super(LessThanFilter, self).__init__(name) + self.max_level = exclusive_maximum + + def filter(self, record): + #non-zero return means we log this message + return 1 if record.levelno < self.max_level else 0 + +logger = logging.getLogger() +logger.setLevel(logging.NOTSET) + +formatter = logging.Formatter( + fmt='%(asctime)s %(levelname)-6s %(message)s', + datefmt='%Y-%m-%dT%H:%M:%S', +) + +handler_out = logging.StreamHandler(sys.stdout) +handler_out.setLevel(logging.DEBUG) +handler_out.addFilter(LessThanFilter(logging.ERROR)) +handler_out.setFormatter(formatter) +logger.addHandler(handler_out) + +handler_err = logging.StreamHandler(sys.stderr) +handler_err.setLevel(logging.ERROR) +handler_err.setFormatter(formatter) +logger.addHandler(handler_err) + + if __name__ == '__main__': # parse arguments arguments = docopt(__doc__) days = int(arguments['--older-than-days']) location = arguments['--location'] dry_run = arguments['--dry-run'] - - # configure logging - logging.basicConfig( - level=logging.INFO, - format='%(asctime)s %(levelname)-6s %(message)s', - datefmt='%Y-%m-%dT%H:%M:%S' - ) # files or folders older than this date should be deleted threshold_datetime = datetime.now() - relativedelta.relativedelta(days=days) @@ -94,11 +120,11 @@ paths_to_delete.append(day_path) if dry_run: - logging.info('Listing {0} directories from {1} ...'.format(len(paths_to_delete), location)) + logger.info('Listing {0} directories from {1} ...'.format(len(paths_to_delete), location)) for path_to_delete in paths_to_delete: print path_to_delete - logging.info('Dry run finished!') + logger.info('Dry run finished!') else: - logging.info('Removing {0} directories from {1} ...'.format(len(paths_to_delete), location)) + logger.info('Removing {0} directories from {1} ...'.format(len(paths_to_delete), location)) HdfsUtils.rm(' '.join(paths_to_delete)) - logging.info('Done!') + logger.info('Done!') -- To view, visit https://gerrit.wikimedia.org/r/384530 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9c6ef64c94a414a60a2e3c45f0969eb5b69fd670 Gerrit-PatchSet: 1 Gerrit-Project: analytics/refinery Gerrit-Branch: master Gerrit-Owner: Mforns <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
