kai-law / web.py
seawolf2357's picture
Create web.py
0530853 verified
import gradio as gr
import datetime
import asyncio
def update_live_message():
""" ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ 'live' ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. """
current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
return f"{current_time} - live"
async def periodic_update(interface, interval=60):
""" ์ฃผ์–ด์ง„ ์ธํ„ฐํŽ˜์ด์Šค์— 1๋ถ„ ๊ฐ„๊ฒฉ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. """
while True:
live_message = update_live_message()
interface.update(live_message)
await asyncio.sleep(interval)
def run_gradio():
""" Gradio ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค์ •ํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. """
live_block = gr.Textbox(label="Live Output", value="Starting...", elem_id="live_output")
demo = gr.Blocks()
with demo:
gr.Markdown("## Live Server Output")
live_block
demo.launch(server_name="0.0.0.0", server_port=7860, inbrowser=True)
# ๋น„๋™๊ธฐ ์—…๋ฐ์ดํŠธ ์ž‘์—… ์‹œ์ž‘
asyncio.run(periodic_update(live_block))
if __name__ == "__main__":
run_gradio()