seawolf2357 commited on
Commit
45a4d1c
Β·
verified Β·
1 Parent(s): 1c9a42e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -17
app.py CHANGED
@@ -1,34 +1,40 @@
1
  import gradio as gr
2
  import requests
 
 
3
 
4
  # μ™ΈλΆ€ URL에 μ ‘μ†ν•˜λŠ” ν•¨μˆ˜λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
5
  def check_connection(url):
6
  try:
7
- # URL에 GET μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€.
8
  response = requests.get(url)
9
- # HTTP μƒνƒœ μ½”λ“œμ™€ 접속 μƒνƒœλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
10
  status = f"μƒνƒœ μ½”λ“œ: {response.status_code}, 접속 μƒνƒœ: {'접속 성곡' if response.status_code == 200 else '접속 μ‹€νŒ¨'}"
11
- return status
12
  except Exception as e:
13
- # μš”μ²­μ΄ μ‹€νŒ¨ν•œ 경우, μ‹€νŒ¨ 이유λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
14
- return f"접속 μ‹€νŒ¨: {str(e)}"
 
 
 
 
 
 
15
 
16
  # Gradio UI μ»΄ν¬λ„ŒνŠΈλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
17
  url_input = gr.Text(label="URL", placeholder="접속할 URL을 μž…λ ₯ν•˜μ„Έμš”")
18
- output_text = gr.Textbox(label="접속 μƒνƒœ")
19
 
20
- # Gradio μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ„€μ •ν•˜κ³  μ‹€ν–‰ν•©λ‹ˆλ‹€.
21
- title = "URL 접속 체컀"
22
- description = "URL을 μž…λ ₯ν•˜κ³  '접속 체크'λ₯Ό ν΄λ¦­ν•˜μ—¬ HTTP μƒνƒœ μ½”λ“œ 및 접속 μƒνƒœλ₯Ό ν™•μΈν•˜μ„Έμš”."
23
- examples = [["https://seawolf2357-FastGPT.hf.space"]]
 
24
 
25
- # Gradio 앱을 μƒμ„±ν•˜κ³  μ‹€ν–‰ν•©λ‹ˆλ‹€.
26
  app = gr.Interface(
27
- fn=check_connection,
28
- inputs=url_input,
29
- outputs=output_text,
30
- title=title,
31
- description=description,
32
- examples=examples
33
  )
34
  app.launch(share=True)
 
1
  import gradio as gr
2
  import requests
3
+ import threading
4
+ import time
5
 
6
  # μ™ΈλΆ€ URL에 μ ‘μ†ν•˜λŠ” ν•¨μˆ˜λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
7
  def check_connection(url):
8
  try:
 
9
  response = requests.get(url)
 
10
  status = f"μƒνƒœ μ½”λ“œ: {response.status_code}, 접속 μƒνƒœ: {'접속 성곡' if response.status_code == 200 else '접속 μ‹€νŒ¨'}"
 
11
  except Exception as e:
12
+ status = f"접속 μ‹€νŒ¨: {str(e)}"
13
+ print(status)
14
+ return status
15
+
16
+ # 타이머λ₯Ό μ‚¬μš©ν•˜μ—¬ μ •ν•΄μ§„ 주기둜 ν•¨μˆ˜λ₯Ό 반볡 μ‹€ν–‰ν•©λ‹ˆλ‹€.
17
+ def start_timer(url, interval):
18
+ threading.Timer(interval, start_timer, [url, interval]).start()
19
+ check_connection(url)
20
 
21
  # Gradio UI μ»΄ν¬λ„ŒνŠΈλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.
22
  url_input = gr.Text(label="URL", placeholder="접속할 URL을 μž…λ ₯ν•˜μ„Έμš”")
23
+ interval_input = gr.Slider(minimum=1, maximum=60, step=1, default=1, label="접속 μ£ΌκΈ°(λΆ„)")
24
 
25
+ # 타이머 μ‹œμž‘ ν•¨μˆ˜λ₯Ό Gradio의 μž…λ ₯κ³Ό ν•¨κ»˜ μ—°κ²°ν•©λ‹ˆλ‹€.
26
+ def setup_timer(url, interval):
27
+ interval_seconds = interval * 60 # 뢄을 초둜 λ³€ν™˜
28
+ start_timer(url, interval_seconds)
29
+ return "타이머가 μ„€μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€."
30
 
31
+ # Gradio μ•± μ„€μ •
32
  app = gr.Interface(
33
+ fn=setup_timer,
34
+ inputs=[url_input, interval_input],
35
+ outputs="text",
36
+ title="URL 접속 체컀",
37
+ description="URLκ³Ό 접속 μ£ΌκΈ°λ₯Ό μž…λ ₯ν•˜κ³  'μ‹œμž‘' λ²„νŠΌμ„ ν΄λ¦­ν•˜μ„Έμš”. μ§€μ •λœ 주기둜 HTTP μƒνƒœ μ½”λ“œ 및 접속 μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.",
38
+ examples=[["https://seawolf2357-FastGPT.hf.space", 1]]
39
  )
40
  app.launch(share=True)