Django-compressor имеет папку JS cache, которая использует абсурдное количество места

Сегодня утром я проснулся от предупреждения sentry о том, что на моем рабочем сервере полностью закончилось место. Потребовалось некоторое время, чтобы выяснить причину через ncdu, и в результате оказалось, что моя папка static использовала более 60 ГБ пространства, в частности CACHE/js, которое использует django-compressor.

Я не совсем понимаю, что происходит, или почему существует более 500 000 js файлов, где каждый файл имеет такой формат: output.<random string>.js. Насколько я понимаю, не должно ли кэшироваться только небольшое количество js-файлов? В моем проекте даже нет такого количества скриптов!

Мне кажется, что каждый пользователь получает свой собственный выходной файл, а не один и тот же кэшированный файл для всех.

Базовые настройки:

# STATIC
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#static-root
# STATIC_ROOT = str(ROOT_DIR / "static")
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
# https://docs.djangoproject.com/en/dev/ref/settings/#static-url
STATIC_URL = "/static/"
# https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS
# STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
# https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders
STATICFILES_FINDERS = [
    "django.contrib.staticfiles.finders.FileSystemFinder",
    "django.contrib.staticfiles.finders.AppDirectoriesFinder",
    "compressor.finders.CompressorFinder",
]

COMPRESS_ENABLED = True
COMPRESS_PRECOMPILERS = (
    ('text/x-scss', 'django_libsass.SassCompiler'),
)
COMPRESS_FILTERS = {
    "css": [
        'compressor.filters.css_default.CssAbsoluteFilter',
        # 'compressor.filters.cssmin.CSSMinFilter',
        'core.CSSMinFilter.CSSMinFilter',
    ]
}

производственные настройки:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

Первоначально я установил django-compressor (https://django-compressor.readthedocs.io/en/stable/quickstart/), чтобы исправить проблемы, когда пользователям приходилось вручную очищать кэш браузера, чтобы увидеть правильные изменения в шаблонах.

Есть идеи, что происходит, или как это исправить?

редактирование:

Я выполнил следующую команду rm -rf js для удаления всех файлов, и в течение минуты было создано уже 200 файлов.

Вернуться на верх