Avoid thread exhaustion.
Avoid thread exhaustion.

Creating a new ThreadPoolExecutor for each recipe to be fetched appears to run out of threads after a while, even though the executor is ostensibly being automatically shut down after each recipe has been fetched. I've moved the initialization and shutdown of the executor to the top level to avoid this.

doxxx/lodestone-recipe-db-scraper