the async thread will no longer exit if there's anything left to flush, added timeouts to requests