Думаю правильнее и полезнее всего использовать асинхронную очередь заданий, типа
Celery (
github) или
RQ (
github).
Во-первых, не придется изобретать велосипед. Во-вторых: ознакомитесь с работой передовых инструментов в этой сфере.
Вот
статья от гуру Flask по использованию Celery.