def main(input_config): global config, sms_numbers try: logger.info('Started %s monitor' % (module)) config = input_config initialize() error_count = 0 sms_numbers = mongohelper.get_oncall_sms_nos(config) logger.debug(sms_numbers) while error_count <= config.email_max_errors: try: issue = mongohelper.get_new_issue(config) if issue != None: logger.debug('Got issue %s' % (issue.__str__())) sms_issue(config, issue) else: logger.info('No issues to notify') break except pymongo.errors.AutoReconnect as pmar: logger.error(pmar) error_count += 1 mongohelper.initialize(config) except mongohelper.CannotConnectToMongo as cctm: logger.critical('Cannot connect to Mongo %s' % (cctm)) raise except: logger.error(traceback.format_exc()) error_count += 1 except: error = traceback.format_exc() logger.critical(error) mailhelpers.alert_admin(config, module, error) raise
def main(input_config): global config try: logger.info('Started %s monitor' % (module)) config = input_config proxy, auth = initialize() process_filter(config.filter_id, auth, proxy) logger.info('Filter processed') update_issues(auth, proxy) logger.info('Updated issues') except: error = traceback.format_exc() logger.critical(error) mailhelpers.alert_admin(config, module, error) raise
def main(input_config): global config try: logger.info('Started %s monitor' % (module)) config = input_config initialize() logger.info('Getting unattended issues') issues = mongohelper.get_unassigned_issues(config) logger.info('Got %d unattended issues' % len(issues)) if len(issues) > 0: classify_issues(issues) if len(category1issues) > 0: logger.info('Escalating category 1 issues') mailhelpers.email_issues(config, config.dev_id, 'Blocker issues that are open for at least 30 minutes', category1issues) logger.info('Done escalating category 1 issues') if len(category2issues) > 0: logger.info('Escalating category 2 issues') mailhelpers.email_issues(config, config.dev_id, 'Critical issues that are open for at least 40 minutes', category2issues) logger.info('Done escalating category 2 issues') if len(category3issues) > 0: logger.info('Escalating category 3 issues') mailhelpers.email_issues(config, config.dev_id, 'Major issues that are open for at least 2 hours', category3issues) logger.info('Done escalating category 3 issues') if len(category4issues) > 0: logger.info('Escalating category 4 issues') mailhelpers.email_issues(config, config.dev_id, 'Issues that are open for at least 4 hours', category4issues) logger.info('Done escalating category 4 issues') except: error = traceback.format_exc() logger.critical(error) mailhelpers.alert_admin(config, module, error) raise
def main(input_config): global config, sms_numbers try: logger.info('Started %s monitor' % (module)) config = input_config initialize() error_count = 0 sms_numbers= mongohelper.get_oncall_sms_nos(config) logger.debug(sms_numbers) while error_count <= config.email_max_errors: try: issue = mongohelper.get_new_issue(config) if issue != None: logger.debug('Got issue %s' % (issue.__str__())) sms_issue(config, issue) else: logger.info('No issues to notify') break except pymongo.errors.AutoReconnect as pmar: logger.error(pmar) error_count += 1 mongohelper.initialize(config) except mongohelper.CannotConnectToMongo as cctm: logger.critical('Cannot connect to Mongo %s' % (cctm)) raise except: logger.error(traceback.format_exc()) error_count += 1 except: error = traceback.format_exc() logger.critical(error) mailhelpers.alert_admin(config, module, error) raise