import schedule import time import datetime import shutil import redis import urllib.request def queryallrecordsbydatewithtype(date: str): print(f'queryallrecordsbydatewithtype: {date}') try: response = urllib.request.urlopen(f'http://localhost/queryallrecordsbydatewithtype/?querydate={date}&querytype=node') html = response.read().decode('utf-8') #print(html) response = urllib.request.urlopen(f'http://localhost/queryallrecordsbydatewithtype/?querydate={date}&querytype=link') html = response.read().decode('utf-8') #print(html) except urllib.error.URLError as e: print("Error") def queryallrecordsbydateproperty(date: str): print(f'queryallrecordsbydateproperty: {date}') try: response = urllib.request.urlopen(f'http://localhost/queryallrecordsbydateproperty/?querydate={date}&querytype=node&property=head') html = response.read().decode('utf-8') #print(html) response = urllib.request.urlopen(f'http://localhost/queryallrecordsbydateproperty/?querydate={date}&querytype=link&property=flow') html = response.read().decode('utf-8') #print(html) except urllib.error.URLError as e: print("Error") def queryallscadarecordsbydate(date: str): print(f'queryallscadarecordsbydate: {date}') try: response = urllib.request.urlopen(f'http://localhost/queryallscadarecordsbydate/?querydate={date}') html = response.read().decode('utf-8') #print(html) except urllib.error.URLError as e: print("Error") def queryallschemeallrecords(date: str): print(f'queryallschemeallrecords: {date}') try: response = urllib.request.urlopen(f'http://localhost/queryallschemeallrecords/?schemetype=burst_Analysis&schemename=testSchema&querydate={date}') html = response.read().decode('utf-8') #print(html) except urllib.error.URLError as e: print("Error") def auto_cache_data(): """ redis_client = redis.Redis(host='localhost', port=6379, db=0) items = ['queryallrecordsbydatewithtype_[DATE]_link'] today = datetime.date.today() print(today) for item in items: prev_day = today - datetime.timedelta(days=1) str_prev_day = prev_day.strftime('%Y-%m-%d') print(str_prev_day) key = item.replace('[DATE]', str_prev_day) if not redis_client.exists(key): query_all_records_by_date_with_type_link(str_prev_day) """ # auto cache data for the last 3 days today = datetime.date.today() for i in range(1, 4): prev_day = today - datetime.timedelta(days=i) str_prev_day = prev_day.strftime('%Y-%m-%d') print(str_prev_day) queryallrecordsbydatewithtype(str_prev_day) queryallrecordsbydateproperty(str_prev_day) queryallscadarecordsbydate(str_prev_day) queryallschemeallrecords(str_prev_day) if __name__ == "__main__": auto_cache_data() # auto run in the midnight schedule.every().day.at("03:00").do(auto_cache_data) while True: schedule.run_pending() time.sleep(1)