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

