1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # Author renyupeng
- # coding=utf-8
- # @Time : 2021/11/30 6:11 下午
- # @Site :
- # @File : AudienceReportMonitor.py
- # @Software: PyCharm
- # @contact: renyupeng@c-top.com.cn
- # @Tel 1501435553
- import datetime
- import logging
- from Apietl.conn.TidbProConn import TidbProConn
- from OuterDataCompareInnerData.Utils.SendEmail import SendEmail
- class AudienceReportMonitor:
- def __init__(self):
- self.conn = TidbProConn.get_connection()
- self.Audience_list = ['ctop_kuaishou_audience_report_daily_age_material',
- 'ctop_kuaishou_audience_report_daily_city_material',
- 'ctop_kuaishou_audience_report_daily_client_material',
- 'ctop_kuaishou_audience_report_daily_gender_material',
- 'ctop_kuaishou_audience_report_daily_province_material']
- self.stat_date = (datetime.date.today() + datetime.timedelta(-1)).strftime("%Y-%m-%d")
- def monitor(self):
- try:
- messageList = ''
- for table in self.Audience_list:
- try:
- sql = """select count(1) from `jeecg-boot`.{table} where stat_date='{stat_date}'""".format(
- table=table, stat_date=self.stat_date)
- print(sql)
- rowCount = TidbProConn.quary(self.conn, sql)[0][0]
- if rowCount == 0:
- message = """{stat_date}日:{table} 数据量为零 请检查
- """.format(stat_date=self.stat_date,
- table=table)
- messageList += message
- else:
- logging.info("""{stat_date}日:{table} 数据正常""".format(stat_date=self.stat_date, table=table))
- except Exception as e:
- logging.error(e)
- if messageList == '':
- logging.info("数据正常")
- else:
- SendEmail.mail(messageList)
- except Exception as e:
- logging.error(e)
- if __name__ == '__main__':
- AudienceReportMonitor().monitor()
|