File size: 2,806 Bytes
dd7fe10
 
45a4d1c
 
dd7fe10
0e61863
dd7fe10
 
 
1eb1070
c5d7fd8
1eb1070
45a4d1c
 
 
 
 
 
 
dd7fe10
d3b8859
d05cede
d3b8859
 
 
 
 
 
0e61863
377e71c
53703b0
dd7fe10
45a4d1c
0e61863
45a4d1c
d05cede
45a4d1c
 
377e71c
1eb1070
377e71c
d05cede
377e71c
 
 
 
 
 
 
 
 
 
d05cede
31da01e
8839084
377e71c
 
 
 
 
 
d05cede
377e71c
2fa68c1
 
0e61863
d3b8859
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
64
65
66
67
68
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(20)]
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="์ตœ๋Œ€ ์Šค๋ฌด ๊ฐœ์˜ URL๊ณผ ์ ‘์† ์ฃผ๊ธฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  '์‹œ์ž‘' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. ์ง€์ •๋œ ์ฃผ๊ธฐ๋กœ HTTP ์ƒํƒœ ์ฝ”๋“œ ๋ฐ ์ ‘์† ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.",
    examples=[
        [
            15, 
            "https://seawolf2357-FastGPT.hf.space",
            "https://seawolf2357-NaverTalk.hf.space",
            "https://seawolf2357-timer.hf.space",
            "https://seawolf2357-timer2.hf.space",
            "https://seawolf2357-disc1ch-2.hf.space",
            "https://seawolf2357-kai-girlfriend.hf.space",
            "https://seawolf2357-kai-boyfriend.hf.space",
            "https://seawolf2357-kai-grandma.hf.space",
            "https://seawolf2357-kai-simsime.hf.space",
            "https://seawolf2357-kai-blog.hf.space",
            "https://seawolf2357-kai-anak.hf.space",
            "https://seawolf2357-kai-trans.hf.space",
            "https://seawolf2357-kai-sum.hf.space",
            "https://seawolf2357-test4.hf.space",
            "https://seawolf2357-test5.hf.space",
            "https://seawolf2357-test6.hf.space",
            "https://seawolf2357-test7.hf.space",
            "https://seawolf2357-test8.hf.space",
            "https://seawolf2357-test9.hf.space",
            "https://seawolf2357-test10.hf.space"
        ]
    ],
    cache_examples=False  # ์บ์‹œ ๋น„ํ™œ์„ฑํ™”
)
app.launch()