Как изменить время ожидания для сервера кэширования Memcached/Elasticache в Django?
Я использую Amazon Elasticache для кэширования контента в Django и часто вижу такие ошибки, как:
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/template/defaulttags.py", line 285, in render
return nodelist.render(context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/template/base.py", line 844, in render_node
return node.render(context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/templatetags/static.py", line 109, in render
url = self.url(context)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/contrib/staticfiles/templatetags/staticfiles.py", line 12, in url
return staticfiles_storage.url(path)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 136, in url
hashed_name = self.cache.get(cache_key)
File "/usr/local/myproject/.env/lib/python2.7/site-packages/django/core/cache/backends/memcached.py", line 64, in get
val = self._cache.get(key)
Error: error 31 from memcached_get(myproject:1:staticfiles:27e4bc0): A TIMEOUT OCCURRED
Я пытался увеличить количество узлов в своем кластере Elasticache, но это не дало никакого эффекта. Следующей моей мыслью было увеличить время ожидания для извлечения из memcached, но документы Django не кажутся предоставить вариант для этого.
Есть параметр «TIMEOUT», но он, похоже, определяет время по умолчанию, после которого содержимое истечет, а не время ожидания HTTP-запроса к серверу memcached.