import requests
import time
import schedule
import redis
# Redis 연결 설정
redis_client = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True)
# 요청 정보
URL = "http://158.247.242.124:8080/open/api/flush/mxql/text"
HEADERS = {
"x-whatap-pcode": "10",
"x-whatap-token": "413EL8NVWIO3WL058QZTI8CL",
"Content-Type": "application/json"
}
def send_request():
# 현재 시간 (밀리초 단위 Unix epoch time)
etime = int(time.time() * 1000)
stime = etime - 60 * 1000 # 1분 전
data = {
"stime": stime,
"etime": etime,
"mql": "CATEGORY server_base\nTAGLOAD {backward:true}\nSELECT [oname, cpu]",
"limit": 3,
"pageKey": "mxql"
}
response = requests.post(URL, headers=HEADERS, json=data)
if response.status_code == 200:
result = response.json()
for item in result:
oname = item["oname"]
cpu = item["cpu"]
redis_client.set(oname, cpu) # Redis에 저장
print(f"Saved to Redis -> {oname}: {cpu}")
else:
print(f"Error: {response.status_code}, {response.text}")
# 1분마다 실행
schedule.every(1).minutes.do(send_request)
# 계속 실행
while True:
schedule.run_pending()
time.sleep(1)