FWIW, также читайте:
http://code.google.com/p/modwsgi/wiki/RegisteringCleanupCode
Перехват действий для close () итерируемого является единственным способом в контексте самой спецификации WSGI для выполнения отложенной работы. Это не находится в отдельном потоке, хотя и будет происходить в контексте фактического запроса, хотя после того, как предполагается, что ответ был возвращен клиенту. Таким образом, ваше отложенное действие будет использовать этот поток запросов до тех пор, пока работа не будет завершена, поэтому поток запросов не сможет обрабатывать другие запросы до тех пор.
В целом, если вы используете фоновые потоки, нет никакой гарантии, что какой-либо механизм хостинга будет ожидать завершения этих фоновых потоков, прежде чем завершит процесс. На самом деле, я даже не могу вспомнить ни одного стандартного механизма развертывания, который действительно ждет. На самом деле нет даже гарантии, что обработчики atexit будут вызваны при завершении процесса, о чем кратко говорится в ссылочной документации.