File size: 2,635 Bytes
dd7fe10
4a056c9
7667b1d
4a056c9
dd7fe10
4a056c9
 
dd7fe10
4a056c9
 
c5d7fd8
1eb1070
4a056c9
 
45a4d1c
4a056c9
 
 
 
dd7fe10
d3b8859
d05cede
d3b8859
4a056c9
 
 
d3b8859
 
0e61863
6e18e88
53703b0
dd7fe10
45a4d1c
0e61863
45a4d1c
d05cede
45a4d1c
 
6e18e88
1eb1070
377e71c
376fed4
21a1a2b
 
 
 
 
 
376fed4
 
 
 
 
 
 
377e71c
2fa68c1
 
0e61863
4a056c9
14f460f
21a1a2b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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์˜ ์ž…๋ ฅ๊ณผ ํ•จ๊ป˜ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
def setup_timer(interval, *urls):
    interval_seconds = interval * 60  # ๋ถ„์„ ์ดˆ๋กœ ๋ณ€ํ™˜
    for url in urls:
        if url:  # URL์ด ๋น„์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํƒ€์ด๋จธ ์‹œ์ž‘
            start_timer(url, interval_seconds)
    return "ํƒ€์ด๋จธ๊ฐ€ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค."

# Gradio UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
url_inputs = [gr.Text(label=f"URL {i+1}", placeholder=f"์ ‘์†ํ•  URL {i+1}์„ ์ž…๋ ฅํ•˜์„ธ์š”") for i in range(40)]
interval_input = gr.Slider(minimum=1, maximum=60, step=1, value=5, label="์ ‘์† ์ฃผ๊ธฐ(๋ถ„)")

# Gradio ์•ฑ ์„ค์ •
app = gr.Interface(
    fn=setup_timer,
    inputs=[interval_input] + url_inputs,
    outputs="text",
    title="URL ์ ‘์† ์ฒด์ปค",
    description="์ตœ๋Œ€ 40๊ฐœ์˜ URL๊ณผ ์ ‘์† ์ฃผ๊ธฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  '์‹œ์ž‘' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. ์ง€์ •๋œ ์ฃผ๊ธฐ๋กœ HTTP ์ƒํƒœ ์ฝ”๋“œ ๋ฐ ์ ‘์† ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.",
    examples=[
        [
            15,
            "https://seawolf2357-timer.hf.space",            
            "https://ginipick-discord-openfree-LLM-chatgpt4.hf.space",
            "https://fantos-discord-openfree-LLM-qwen3-30b-a3b.hf.space",
            "https://fantos-discord-openfree-LLM-qwen3-235b-a22b.hf.space",
            "https://fantos-discord-openfree-LLM-llama4-maverick-instruct.hf.space",

            "https://fantos-discord-openfree-LLM-llama4-scout-instruct.hf.space",
            "https://fantos-discord-openfree-LLM-deepseek-v3-0324.hf.space",
            "https://fantos-discord-openfree-Image-sdxl-lightning.hf.space",
            "https://fantos-discord-openfree-Image-flux.hf.space",
            "https://fantos-discord-openfree-Image-3d.hf.space",
            "https://fantos-discord-openfree-video-luma.hf.space",
            "https://fantos-discord-openfree-video-luma2.hf.space"             
        ]
    ],
    cache_examples=False  # ์บ์‹œ ๋น„ํ™œ์„ฑํ™”
)
app.launch()