By default, locks in redis never expire. This can lead to a deadlock if a worker dies unexpectedly while trying to create a cache entry, which leaves the lock in redis for the rest of time. When a worker attempts to refresh the cache later, it'll wait on the lock permanently. We could set the "lock_timeout" key in the dogpile.cache configuration, but realistically we don't need to lock at all. Populating the cache is a single GET request and we only have a couple workers so if they happen to try the same entry at the same time, we'll just have 4-5 requests instead of 1. |
||
---|---|---|
.. | ||
backend | ||
frontend |