> 1. What’s the most global, persisting, shared-across-requests type of data I can read & write to memory?
Don't complicate your life, just store data in the database
> 2. However I can do this, does this require using `threading.Lock()`? (looking around `dispatch.Signal` I see some use of it)
If you use the ORM you won't need any of this, you can have many processes even on different machines
> 3. If this data is shared per-process, what’s a good way to see how many processes it would be (for uwsgi is that just the # of worker processes)?
Of course you can, the question is why? Each request should be isolated and it shouldn't make a difference on how many workers you have
As per design, maybe you want an asynchronous processing, meaning the web request would just register that a request to calculate something was made, send the request to the jobs queue and return saying the request was received please come back later
you can use celery for this, there are others but it is fairly popular