Pip freeze gunicorn
Initial attempt to lock rebuild_cache

If the cache is missing the keys holding cities and users, a rebuild
is triggered that takes a non-trivial amount of time. If multiple
users trigger rebuild simultaneously, this can cause a thundering
herd on the table. To prevent this, there is a lock that allows
only one user to rebuild the cache while others drop their requests.

Depending on needs, this dropping behavior can be modified to
block or wait on the rebuild to complete.