import random import time import gradio as gr def sleep_a_while(): seconds = random.randint(5, 10) print(f"Working for {seconds} seconds") start = time.time() while start + seconds > time.time(): continue return str(seconds) with gr.Blocks() as iface: text = gr.Textbox(label="Slept second") run_btn = gr.Button("Run") run_btn.click(sleep_a_while, queue=False, outputs=text, concurrency_limit=1) if __name__ == "__main__": iface.queue(max_size=2, default_concurrency_limit=2).launch()