본문 바로가기

카테고리 없음

redis

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)