File size: 2,565 Bytes
dd7fe10
 
45a4d1c
 
dd7fe10
0e61863
dd7fe10
 
 
1eb1070
c5d7fd8
1eb1070
45a4d1c
 
 
 
 
 
 
dd7fe10
0e61863
1eb1070
 
1e2fdfe
 
d329a40
 
53703b0
dd7fe10
45a4d1c
d329a40
45a4d1c
1eb1070
 
1e2fdfe
 
d329a40
 
45a4d1c
c5d7fd8
45a4d1c
0e61863
45a4d1c
d329a40
45a4d1c
 
d329a40
1eb1070
306fae3
1eb1070
0e61863
d329a40
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
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์„ ์ž…๋ ฅํ•˜์„ธ์š”")
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์„ ์ž…๋ ฅํ•˜์„ธ์š”")
interval_input = gr.Slider(minimum=1, maximum=60, step=1, value=5, label="์ ‘์† ์ฃผ๊ธฐ(๋ถ„)")

# ํƒ€์ด๋จธ ์‹œ์ž‘ ํ•จ์ˆ˜๋ฅผ Gradio์˜ ์ž…๋ ฅ๊ณผ ํ•จ๊ป˜ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
def setup_timer(url1, url2, url3, url4, url5, url6, interval):
    interval_seconds = interval * 60  # ๋ถ„์„ ์ดˆ๋กœ ๋ณ€ํ™˜
    start_timer(url1, interval_seconds)
    start_timer(url2, interval_seconds)
    start_timer(url3, interval_seconds)
    start_timer(url4, interval_seconds)
    start_timer(url5, interval_seconds)
    start_timer(url6, interval_seconds)
    return "ํƒ€์ด๋จธ๊ฐ€ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค."

# Gradio ์•ฑ ์„ค์ •
app = gr.Interface(
    fn=setup_timer,
    inputs=[url_input1, url_input2, url_input3, url_input4, url_input5, url_input6, 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-apislm.hf.space", 15]
    ]
)
app.launch()