from flask import Flask from time import sleep from concurrent.futures import ThreadPoolExecutor # DOCS https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor # 創建線程池執行器 executor = ThreadPoolExecutor(2) app = Flask(__name__) @app.route('/jobs') def run_jobs(): # 交由線程去執行耗時任務 executor.submit(long_task, 'hello', 123) return 'long task running.' # 耗時任務 def long_task(arg1, arg2): print("args: %s %s!" % (arg1, arg2)) for i in range(10): sleep(1) print("Task is done!") if __name__ == '__main__': app.run()