Couldn't agree more about the asynchronous limitations of Python. That's always been one of my dislikes about it as well.
We actually used a Windows service to kick off python tasks for doing large geoprocessing jobs. Spatial selection and queries and then an ETL of that data out to different formats. That was the workaround for doing things without worrying about doing things in an asynchronous fashion, we'd just kick off more tasks. On a server with 64 cores, this never seemed to be much of an issue. One thing though, that I noticed was that the loose or dynamic typing caused problems sometimes when a developer would work on something, and then their changes would break something down the subprocess. Python on large projects without testing is painful.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.