import gradio as gr from gradio_client import Client import time from threading import Thread spaces = [] def update(name): print("being kept alive!") return "alive" def add_space(name): global spaces try: client = Client(name) spaces.append(client) print("") print(name) print("") return "success" except Exception as e: print("") print(e) print("") return "failed" def run(): global spaces while True: time.sleep(300) for i in spaces: try: i.predict(api_name="/update") except: pass with gr.Blocks() as demo: inp = gr.Textbox(label="space name (Username/Space)") ka = gr.Button("keep alive!") btn = gr.Button("this button does nothing") ka.click(add_space, (inp, ), (inp, )) btn.click(fn=update) t=Thread(target=run) t.start() demo.launch()