Solution
from flask import redirect
import threading
import time, random
def quick_processing_function():
return True
def long_processing_function():
time.sleep(15)
return random.rand() < 0.99
@app.route('target')
def function():
result = quick_processing_function()
if result:
x = threading.Thread(target=long_processing_function_that_may_fail, args=())
x.start()
return redirect(SOME_EXTERNAL_SITE)