Мы столкнулись с этой проблемой в последние несколько недель. Было несколько мест, где это могло перекрываться.
1) Вы используете отдельные интерпретаторы Python?
Есть несколько способов настроить mod_python, чтобы потоки не наступали друг на друга. Ключевыми моментами здесь являются предоставление отдельного ServerName (в данном случае, доменов staging.sitename.com и www.sitename.com ), а также предоставление отдельной конфигурации PythonInterpreter в вашем конфигурационном файле Apache vhosts.
PythonInterpreter mysite
Соответствующие документы Django при развертывании на одном сервере
2) Вы запускаете серверную часть кэша на том же порту?
В файле settings.py есть конфигурация, которая позволяет вам добавлять кешированный контент несколькими символами, чтобы отделить промежуточный контент от живого контента. Это реализовано с помощью следующей конфигурации в settings.py:
CACHE_MIDDLEWARE_KEY_PREFIX = "STG_"
Другой вариант может состоять в том, чтобы некоторое время запускаться на отдельных кэшах файловой системы, чтобы увидеть, решена ли проблема. В settings.py попробуйте добавить
CACHE_BACKEND = 'file:///var/tmp/django_cache'
3) Вы пытались удалить все ваши файлы .pyc?
Как ни странно, когда вышеперечисленные два решения не смогли решить нашу проблему, мы запустили команду bash, чтобы удалить все скомпилированные файлы python (файлы .pyc), когда сервер был остановлен.
find ./ -type f -name "*.pyc" -exec rm -f {} \;
Это будет означать, что изменения в вашем развертывании не были перекомпилированы по той или иной причине.
Надеюсь, это поможет!