| 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 1501435553import datetimeimport loggingfrom Apietl.conn.TidbProConn import TidbProConnfrom OuterDataCompareInnerData.Utils.SendEmail import SendEmailclass 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()
 |