import time import requests import datetime from tool import send_email while True: try: result = requests.get('http://192.144.193.19:4042/api/v1/applications/app-20191118191719-0747/streaming/batches') batchs_info = result.json() log_path = "/Users/apple/Desktop/spark_streaming_log/" today = datetime.date.today().strftime('%Y%m%d') with open(log_path+"user_portrait_tag_name_increment_update_" + today + ".log", "a") as f: is_email = 0 for batch in batchs_info: if is_email == 0 and 'totalDelay' in batch and batch['totalDelay'] > 2000: batch_time = batch['batchTime'] GMT_FORMAT = '%Y-%m-%dT%H:%M:%S.000GMT' batch_time_beijing = datetime.datetime.strptime(batch_time, GMT_FORMAT) + datetime.timedelta(hours=8) send_email("画像增量更新堆积时间", "堆积时刻:" + str(batch_time_beijing) + "堆积时长:" + str(batch['totalDelay']), "") is_email = 1 f.write('%s\n' % batch) time.sleep(1800) except: send_email("画像增量更新堆积时间", "fail", "") break