Как лучше организовать два потока исполнения внутри Flask?
Думаю правильнее и полезнее всего использовать асинхронную очередь заданий, типа Celery (github) или RQ (github). 
Во-первых, не придется изобретать велосипед. Во-вторых: ознакомитесь с работой передовых инструментов в этой сфере.
Вот статья  от гуру Flask по использованию Celery.
У Flask один основной поток, и заставить его проверять там что-то кроме пришедших http-запросов можно конечно, но это путь к переписыванию самого Flask. 
Простой путь - независимый от Flask скрипт, который запускается, неважно чем, по расписанию и делает проверку.
Сложный путь - написать себе свой комбайн.
UPD: попробовал отделить процесс Flask в отдельный поток, и к моему удивлению, оно заработало) Код ниже в коментах.