Spaces:
Running
Running
import gradio as gr | |
import requests | |
import threading | |
import time | |
# ์ธ๋ถ URL์ ์ ์ํ๋ ํจ์๋ฅผ ์ ์ํฉ๋๋ค. | |
def check_connection(url): | |
try: | |
response = requests.get(url) | |
status = f"URL: {url} ์ํ ์ฝ๋: {response.status_code}, ์ ์ ์ํ: {'์ ์ ์ฑ๊ณต' if response.status_code == 200 else '์ ์ ์คํจ'}" | |
except Exception as e: | |
status = f"URL: {url} ์ ์ ์คํจ: {str(e)}" | |
print(status) | |
return status | |
# ํ์ด๋จธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํด์ง ์ฃผ๊ธฐ๋ก ํจ์๋ฅผ ๋ฐ๋ณต ์คํํฉ๋๋ค. | |
def start_timer(url, interval): | |
threading.Timer(interval, start_timer, [url, interval]).start() | |
check_connection(url) | |
# Gradio UI ์ปดํฌ๋ํธ๋ฅผ ์ ์ํฉ๋๋ค. | |
url_input1 = gr.Text(label="URL 1", placeholder="์ ์ํ ์ฒซ ๋ฒ์งธ URL์ ์ ๋ ฅํ์ธ์") | |
url_input2 = gr.Text(label="URL 2", placeholder="์ ์ํ ๋ ๋ฒ์งธ URL์ ์ ๋ ฅํ์ธ์") | |
interval_input = gr.Slider(minimum=1, maximum=60, step=1, value=5, label="์ ์ ์ฃผ๊ธฐ(๋ถ)") | |
# ํ์ด๋จธ ์์ ํจ์๋ฅผ Gradio์ ์ ๋ ฅ๊ณผ ํจ๊ป ์ฐ๊ฒฐํฉ๋๋ค. | |
def setup_timer(url1, url2, interval): | |
interval_seconds = interval * 60 # ๋ถ์ ์ด๋ก ๋ณํ | |
start_timer(url1, interval_seconds) | |
start_timer(url2, interval_seconds) | |
return "ํ์ด๋จธ๊ฐ ์ค์ ๋์์ต๋๋ค." | |
# Gradio ์ฑ ์ค์ | |
app = gr.Interface( | |
fn=setup_timer, | |
inputs=[url_input1, url_input2, interval_input], | |
outputs="text", | |
title="URL ์ ์ ์ฒด์ปค", | |
description="๋ ๊ฐ์ URL๊ณผ ์ ์ ์ฃผ๊ธฐ๋ฅผ ์ ๋ ฅํ๊ณ '์์' ๋ฒํผ์ ํด๋ฆญํ์ธ์. ์ง์ ๋ ์ฃผ๊ธฐ๋ก HTTP ์ํ ์ฝ๋ ๋ฐ ์ ์ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.", | |
examples=[ | |
["https://seawolf2357-FastGPT.hf.space", "https://seawolf2357-NaverTalk.hf.space", 5] | |
] | |
) | |
app.launch(share=True) | |