File size: 3,231 Bytes
dd7fe10
 
45a4d1c
 
dd7fe10
0e61863
dd7fe10
 
 
1eb1070
c5d7fd8
1eb1070
45a4d1c
 
 
 
 
 
 
dd7fe10
d3b8859
 
 
 
 
 
 
 
 
0e61863
1eb1070
 
1e2fdfe
 
d329a40
 
fd66bbb
 
 
 
53703b0
dd7fe10
45a4d1c
0e61863
45a4d1c
d3b8859
45a4d1c
 
d329a40
1eb1070
67610b9
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
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(url1, url2, url3, url4, url5, url6, url7, url8, url9, url10, interval):
    interval_seconds = interval * 60  # ๋ถ„์„ ์ดˆ๋กœ ๋ณ€ํ™˜
    urls = [url1, url2, url3, url4, url5, url6, url7, url8, url9, url10]
    for url in urls:
        if url:  # URL์ด ๋น„์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํƒ€์ด๋จธ ์‹œ์ž‘
            start_timer(url, interval_seconds)
    return "ํƒ€์ด๋จธ๊ฐ€ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค."

# Gradio UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
url_input1 = gr.Text(label="URL 1", placeholder="์ ‘์†ํ•  ์ฒซ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input2 = gr.Text(label="URL 2", placeholder="์ ‘์†ํ•  ๋‘ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input3 = gr.Text(label="URL 3", placeholder="์ ‘์†ํ•  ์„ธ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input4 = gr.Text(label="URL 4", placeholder="์ ‘์†ํ•  ๋„ค ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input5 = gr.Text(label="URL 5", placeholder="์ ‘์†ํ•  ๋‹ค์„ฏ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input6 = gr.Text(label="URL 6", placeholder="์ ‘์†ํ•  ์—ฌ์„ฏ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input7 = gr.Text(label="URL 7", placeholder="์ ‘์†ํ•  ์ผ๊ณฑ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input8 = gr.Text(label="URL 8", placeholder="์ ‘์†ํ•  ์—ฌ๋Ÿ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input9 = gr.Text(label="URL 9", placeholder="์ ‘์†ํ•  ์•„ํ™‰ ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
url_input10 = gr.Text(label="URL 10", placeholder="์ ‘์†ํ•  ์—ด ๋ฒˆ์งธ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”")
interval_input = gr.Slider(minimum=1, maximum=60, step=1, value=5, label="์ ‘์† ์ฃผ๊ธฐ(๋ถ„)")

# Gradio ์•ฑ ์„ค์ •
app = gr.Interface(
    fn=setup_timer,
    inputs=[url_input1, url_input2, url_input3, url_input4, url_input5, url_input6, url_input7, url_input8, url_input9, url_input10, interval_input],
    outputs="text",
    title="URL ์ ‘์† ์ฒด์ปค",
    description="์—ฌ์„ฏ ๊ฐœ์˜ URL๊ณผ ์ ‘์† ์ฃผ๊ธฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  '์‹œ์ž‘' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. ์ง€์ •๋œ ์ฃผ๊ธฐ๋กœ HTTP ์ƒํƒœ ์ฝ”๋“œ ๋ฐ ์ ‘์† ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.",
    examples=[
        ["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-simsime.hf.space",15]
    ],
    cache_examples=False  # ์บ์‹œ ๋น„ํ™œ์„ฑํ™”
)
app.launch()