[GH-ISSUE #206] 500 Error after ls4 upgrade #150

Closed
opened 2026-02-25 23:41:22 +03:00 by kerem · 2 comments
Owner

Originally created by @alex-phillips on GitHub (Nov 30, 2018).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/206

I was getting a 500 error with 1.3 initially and resolved the issue after switching to uwsgi. Now, with the 1.3.0-ls4 upgrade, I'm getting it again. Here is the email from django regarding the error:

Internal Server Error: /checks/

OfflineGenerationError at /checks/
You have offline compression enabled but key "fc7aa83224b94d450c9742bb7519718eefd0fb958a9d2addbc7af82f739c41b0" is missing from offline manifest. You may need to run "python manage.py compress". Here is the original content:


    <link rel="stylesheet" href="/static/css/bootstrap.css" type="text/css">
    <link rel="stylesheet" href="/static/css/icomoon.css" type="text/css">
    <link rel="stylesheet" href="/static/css/nouislider.min.css" type="text/css">
    <link rel="stylesheet" href="/static/css/nouislider.pips.css" type="text/css">
    <link rel="stylesheet" href="/static/css/selectize.bootstrap3.css" type="text/css">
    <link rel="stylesheet" href="/static/css/snippet-copy.css" type="text/css">
    <link rel="stylesheet" href="/static/css/base.css" type="text/css">
    <link rel="stylesheet" href="/static/css/docs.css" type="text/css">
    <link rel="stylesheet" href="/static/css/docs_cron.css" type="text/css">
    <link rel="stylesheet" href="/static/css/welcome.css" type="text/css">
    <link rel="stylesheet" href="/static/css/my_checks.css" type="text/css">
    <link rel="stylesheet" href="/static/css/my_checks_desktop.css" type="text/css">
    <link rel="stylesheet" href="/static/css/pricing.css" type="text/css">
    <link rel="stylesheet" href="/static/css/syntax.css" type="text/css">
    <link rel="stylesheet" href="/static/css/channels.css" type="text/css">
    <link rel="stylesheet" href="/static/css/channel_checks.css" type="text/css">
    <link rel="stylesheet" href="/static/css/details.css" type="text/css">
    <link rel="stylesheet" href="/static/css/log.css" type="text/css">
    <link rel="stylesheet" href="/static/css/add_pushover.css" type="text/css">
    <link rel="stylesheet" href="/static/css/add_webhook.css" type="text/css">
    <link rel="stylesheet" href="/static/css/settings.css" type="text/css">
    <link rel="stylesheet" href="/static/css/ping_details.css" type="text/css">
    <link rel="stylesheet" href="/static/css/profile.css" type="text/css">
    <link rel="stylesheet" href="/static/css/checkbox.css" type="text/css">
    <link rel="stylesheet" href="/static/css/radio.css" type="text/css">
    <link rel="stylesheet" href="/static/css/billing.css" type="text/css">
    <link rel="stylesheet" href="/static/css/login.css" type="text/css">


Request Method: GET
Request URL: https://healthchecks.example.com:443/checks/
Django Version: 2.1.3
Python Executable: /usr/sbin/uwsgi
Python Version: 3.6.6
Python Path: ['.', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/lib/python3.6/site-packages']
Server time: Fri, 30 Nov 2018 10:42:13 -0500
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.humanize',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'compressor',
 'hc.accounts',
 'hc.api',
 'hc.front',
 'hc.payments')
Installed Middleware:
('django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'hc.accounts.middleware.TeamAccessMiddleware')


Traceback:

File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  126.                 response = self.process_exception_by_middleware(e, request)

File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  124.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/lib/python3.6/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  21.                 return view_func(request, *args, **kwargs)

File "./hc/front/views.py" in my_checks
  112.     return render(request, "front/my_checks.html", ctx)

File "/usr/lib/python3.6/site-packages/django/shortcuts.py" in render
  36.     content = loader.render_to_string(template_name, context, request, using=using)

File "/usr/lib/python3.6/site-packages/django/template/loader.py" in render_to_string
  62.     return template.render(context, request)

File "/usr/lib/python3.6/site-packages/django/template/backends/django.py" in render
  61.             return self.template.render(context)

File "/usr/lib/python3.6/site-packages/django/template/base.py" in render
  171.                     return self._render(context)

File "/usr/lib/python3.6/site-packages/django/template/base.py" in _render
  163.         return self.nodelist.render(context)

File "/usr/lib/python3.6/site-packages/django/template/base.py" in render
  937.                 bit = node.render_annotated(context)

File "/usr/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  904.             return self.render(context)

File "/usr/lib/python3.6/site-packages/django/template/loader_tags.py" in render
  150.             return compiled_parent._render(context)

File "/usr/lib/python3.6/site-packages/django/template/base.py" in _render
  163.         return self.nodelist.render(context)

File "/usr/lib/python3.6/site-packages/django/template/base.py" in render
  937.                 bit = node.render_annotated(context)

File "/usr/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  904.             return self.render(context)

File "/usr/lib/python3.6/site-packages/compressor/templatetags/compress.py" in render
  131.         return self.render_compressed(context, self.kind, self.mode, forced=forced)

File "/usr/lib/python3.6/site-packages/compressor/templatetags/compress.py" in render_compressed
  90.             return self.render_offline(context)

File "/usr/lib/python3.6/site-packages/compressor/templatetags/compress.py" in render_offline
  75.                 'is the original content:\n\n%s' % (key, original_content))

Exception Type: OfflineGenerationError at /checks/
Exception Value: You have offline compression enabled but key "fc7aa83224b94d450c9742bb7519718eefd0fb958a9d2addbc7af82f739c41b0" is missing from offline manifest. You may need to run "python manage.py compress". Here is the original content:


    <link rel="stylesheet" href="/static/css/bootstrap.css" type="text/css">
    <link rel="stylesheet" href="/static/css/icomoon.css" type="text/css">
    <link rel="stylesheet" href="/static/css/nouislider.min.css" type="text/css">
    <link rel="stylesheet" href="/static/css/nouislider.pips.css" type="text/css">
    <link rel="stylesheet" href="/static/css/selectize.bootstrap3.css" type="text/css">
    <link rel="stylesheet" href="/static/css/snippet-copy.css" type="text/css">
    <link rel="stylesheet" href="/static/css/base.css" type="text/css">
    <link rel="stylesheet" href="/static/css/docs.css" type="text/css">
    <link rel="stylesheet" href="/static/css/docs_cron.css" type="text/css">
    <link rel="stylesheet" href="/static/css/welcome.css" type="text/css">
    <link rel="stylesheet" href="/static/css/my_checks.css" type="text/css">
    <link rel="stylesheet" href="/static/css/my_checks_desktop.css" type="text/css">
    <link rel="stylesheet" href="/static/css/pricing.css" type="text/css">
    <link rel="stylesheet" href="/static/css/syntax.css" type="text/css">
    <link rel="stylesheet" href="/static/css/channels.css" type="text/css">
    <link rel="stylesheet" href="/static/css/channel_checks.css" type="text/css">
    <link rel="stylesheet" href="/static/css/details.css" type="text/css">
    <link rel="stylesheet" href="/static/css/log.css" type="text/css">
    <link rel="stylesheet" href="/static/css/add_pushover.css" type="text/css">
    <link rel="stylesheet" href="/static/css/add_webhook.css" type="text/css">
    <link rel="stylesheet" href="/static/css/settings.css" type="text/css">
    <link rel="stylesheet" href="/static/css/ping_details.css" type="text/css">
    <link rel="stylesheet" href="/static/css/profile.css" type="text/css">
    <link rel="stylesheet" href="/static/css/checkbox.css" type="text/css">
    <link rel="stylesheet" href="/static/css/radio.css" type="text/css">
    <link rel="stylesheet" href="/static/css/billing.css" type="text/css">
    <link rel="stylesheet" href="/static/css/login.css" type="text/css">

Request information:
USER: cron

GET: No GET data

POST: No POST data

FILES: No FILES data

COOKIES:
csrftoken = 'NGfbJmJkNTaZwpXb29xXfwNRDhFSWVecLF98YCr3BM0q80Xw4NPrkjw9FevfUM78'
sessionid = 'gbta9etj36i1gzkr0bilqdhi7oz0drfd'
__cfduid = 'd0f053d73f74db6aa609629aeb1b4ab7d1543351181'
2fatkn = '6e3lqsapr6026ua7p48n5qkhqd'

META:
CSRF_COOKIE = 'NGfbJmJkNTaZwpXb29xXfwNRDhFSWVecLF98YCr3BM0q80Xw4NPrkjw9FevfUM78'
HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
HTTP_ACCEPT_ENCODING = 'gzip'
HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.9'
HTTP_CF_CONNECTING_IP = '64.128.222.134'
HTTP_CF_IPCOUNTRY = 'US'
HTTP_CF_RAY = '481e6c369c419574-IAD'
HTTP_CF_VISITOR = '{"scheme":"https"}'
HTTP_CONNECTION = 'upgrade'
HTTP_COOKIE = 'csrftoken=NGfbJmJkNTaZwpXb29xXfwNRDhFSWVecLF98YCr3BM0q80Xw4NPrkjw9FevfUM78; sessionid=gbta9etj36i1gzkr0bilqdhi7oz0drfd; __cfduid=d0f053d73f74db6aa609629aeb1b4ab7d1543351181; 2fatkn=6e3lqsapr6026ua7p48n5qkhqd'
HTTP_DNT = '1'
HTTP_HOST = 'healthchecks.example.com:443'
HTTP_UPGRADE_INSECURE_REQUESTS = '1'
HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
HTTP_X_FORWARDED_FOR = '64.128.222.134, 162.158.78.145'
HTTP_X_FORWARDED_HOST = 'healthchecks.example.com'
HTTP_X_FORWARDED_PROTO = 'https'
HTTP_X_FORWARDED_SSL = 'on'
HTTP_X_REAL_IP = '162.158.78.145'
PATH_INFO = '/checks/'
QUERY_STRING = ''
REMOTE_ADDR = '172.18.0.33'
REQUEST_METHOD = 'GET'
REQUEST_URI = '/checks/'
SCRIPT_NAME = ''
SERVER_NAME = 'ff194cde2040'
SERVER_PORT = '8000'
SERVER_PROTOCOL = 'HTTP/1.1'
uwsgi.node = b'ff194cde2040'
uwsgi.version = b'2.0.17'
wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.file_wrapper = ''
wsgi.input = <uwsgi._Input object at 0x7f57a4488e40>
wsgi.multiprocess = False
wsgi.multithread = False
wsgi.run_once = False
wsgi.url_scheme = 'https'
wsgi.version = '(1, 0)'

Settings:
Using settings module hc.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = [('Alex', 'me@example.com')]
ALLOWED_HOSTS = ['healthchecks.example.com']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = "('hc.accounts.backends.EmailBackend', 'hc.accounts.backends.ProfileBackend')"
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'auth.User'
BASE_DIR = '/app/healthchecks'
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
CACHE_MIDDLEWARE_SECONDS = 600
COMPRESS_CACHEABLE_PRECOMPILERS = '()'
COMPRESS_CACHE_BACKEND = 'default'
COMPRESS_CACHE_KEY_FUNCTION = '********************'
COMPRESS_CLEAN_CSS_ARGUMENTS = ''
COMPRESS_CLEAN_CSS_BINARY = 'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS = ''
COMPRESS_CLOSURE_COMPILER_BINARY = 'java -jar compiler.jar'
COMPRESS_CSS_COMPRESSOR = 'compressor.css.CssCompressor'
COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter']
COMPRESS_CSS_HASHING_METHOD = 'content'
COMPRESS_DATA_URI_MAX_SIZE = 1024
COMPRESS_DEBUG_TOGGLE = None
COMPRESS_ENABLED = True
COMPRESS_JINJA2_GET_ENVIRONMENT = <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f57a37bfc80>
COMPRESS_JS_COMPRESSOR = 'compressor.js.JsCompressor'
COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter']
COMPRESS_MINT_DELAY = 30
COMPRESS_MTIME_DELAY = 10
COMPRESS_OFFLINE = True
COMPRESS_OFFLINE_CONTEXT = {'STATIC_URL': '/static/'}
COMPRESS_OFFLINE_MANIFEST = 'manifest.json'
COMPRESS_OFFLINE_TIMEOUT = 31536000
COMPRESS_OUTPUT_DIR = 'CACHE'
COMPRESS_PARSER = 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS = '()'
COMPRESS_REBUILD_TIMEOUT = 2592000
COMPRESS_ROOT = '/app/healthchecks/static-collected'
COMPRESS_STORAGE = 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT = {'STATIC_URL': '/static/'}
COMPRESS_URL = '/static/'
COMPRESS_URL_PLACEHOLDER = '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE = False
COMPRESS_YUGLIFY_BINARY = 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS = '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS = '--terminal'
COMPRESS_YUI_BINARY = 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS = ''
COMPRESS_YUI_JS_ARGUMENTS = ''
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = ['healthchecks.example.com']
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/app/healthchecks/hc.sqlite', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'USER': '', 'PASSWORD': '********************', 'HOST': '', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
DATABASE_ROUTERS = []
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG = False
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'norelpy@wootables.com'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISALLOWED_USER_AGENTS = []
DISCORD_CLIENT_ID = None
DISCORD_CLIENT_SECRET = '********************'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = '********************'
EMAIL_HOST_USER = 'bucketotrash@gmail.com'
EMAIL_PORT = '587'
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = '********************'
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS = []
INSTALLED_APPS = "('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'compressor', 'hc.accounts', 'hc.api', 'hc.front', 'hc.payments')"
INTERNAL_IPS = []
LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LOCALE_PATHS = []
LOGGING = {}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = '/accounts/profile/'
LOGIN_URL = '/accounts/login/'
LOGOUT_REDIRECT_URL = None
MANAGERS = []
MASTER_BADGE_LABEL = 'example.com'
MEDIA_ROOT = ''
MEDIA_URL = ''
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE = "('django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'hc.accounts.middleware.TeamAccessMiddleware')"
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
PASSWORD_HASHERS = '********************'
PASSWORD_RESET_TIMEOUT_DAYS = '********************'
PD_VENDOR_KEY = '********************'
PING_EMAIL_DOMAIN = 'localhost'
PING_ENDPOINT = 'https://healthchecks.example.com/ping/'
PREPEND_WWW = False
PUSHBULLET_CLIENT_ID = None
PUSHBULLET_CLIENT_SECRET = '********************'
PUSHOVER_API_TOKEN = '********************'
PUSHOVER_EMERGENCY_EXPIRATION = 86400
PUSHOVER_EMERGENCY_RETRY_DELAY = 300
PUSHOVER_SUBSCRIPTION_URL = None
REGISTRATION_OPEN = True
ROOT_URLCONF = 'hc.urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'root@localhost'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'hc.settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
SITE_NAME = 'Healthchecks'
SITE_ROOT = 'https://healthchecks.example.com'
SLACK_CLIENT_ID = None
SLACK_CLIENT_SECRET = '********************'
STATICFILES_DIRS = ['/app/healthchecks/static']
STATICFILES_FINDERS = "('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder')"
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/app/healthchecks/static-collected'
STATIC_URL = '/static/'
TELEGRAM_BOT_NAME = 'ap_healthchecks_bot'
TELEGRAM_TOKEN = '********************'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/healthchecks/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'hc.payments.context_processors.payments']}}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'hc.api.tests.CustomRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'America/New_York'
TRELLO_APP_KEY = '********************'
TWILIO_ACCOUNT = None
TWILIO_AUTH = None
TWILIO_FROM = None
USE_I18N = True
USE_L10N = True
USE_PAYMENTS = False
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WSGI_APPLICATION = 'hc.wsgi.application'
X_FRAME_OPTIONS = 'SAMEORIGIN'
YEAR_MONTH_FORMAT = 'F Y'
ZENDESK_CLIENT_ID = None
ZENDESK_CLIENT_SECRET = '********************'
Originally created by @alex-phillips on GitHub (Nov 30, 2018). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/206 I was getting a 500 error with 1.3 initially and resolved the issue after switching to uwsgi. Now, with the 1.3.0-ls4 upgrade, I'm getting it again. Here is the email from django regarding the error: ``` Internal Server Error: /checks/ OfflineGenerationError at /checks/ You have offline compression enabled but key "fc7aa83224b94d450c9742bb7519718eefd0fb958a9d2addbc7af82f739c41b0" is missing from offline manifest. You may need to run "python manage.py compress". Here is the original content: <link rel="stylesheet" href="/static/css/bootstrap.css" type="text/css"> <link rel="stylesheet" href="/static/css/icomoon.css" type="text/css"> <link rel="stylesheet" href="/static/css/nouislider.min.css" type="text/css"> <link rel="stylesheet" href="/static/css/nouislider.pips.css" type="text/css"> <link rel="stylesheet" href="/static/css/selectize.bootstrap3.css" type="text/css"> <link rel="stylesheet" href="/static/css/snippet-copy.css" type="text/css"> <link rel="stylesheet" href="/static/css/base.css" type="text/css"> <link rel="stylesheet" href="/static/css/docs.css" type="text/css"> <link rel="stylesheet" href="/static/css/docs_cron.css" type="text/css"> <link rel="stylesheet" href="/static/css/welcome.css" type="text/css"> <link rel="stylesheet" href="/static/css/my_checks.css" type="text/css"> <link rel="stylesheet" href="/static/css/my_checks_desktop.css" type="text/css"> <link rel="stylesheet" href="/static/css/pricing.css" type="text/css"> <link rel="stylesheet" href="/static/css/syntax.css" type="text/css"> <link rel="stylesheet" href="/static/css/channels.css" type="text/css"> <link rel="stylesheet" href="/static/css/channel_checks.css" type="text/css"> <link rel="stylesheet" href="/static/css/details.css" type="text/css"> <link rel="stylesheet" href="/static/css/log.css" type="text/css"> <link rel="stylesheet" href="/static/css/add_pushover.css" type="text/css"> <link rel="stylesheet" href="/static/css/add_webhook.css" type="text/css"> <link rel="stylesheet" href="/static/css/settings.css" type="text/css"> <link rel="stylesheet" href="/static/css/ping_details.css" type="text/css"> <link rel="stylesheet" href="/static/css/profile.css" type="text/css"> <link rel="stylesheet" href="/static/css/checkbox.css" type="text/css"> <link rel="stylesheet" href="/static/css/radio.css" type="text/css"> <link rel="stylesheet" href="/static/css/billing.css" type="text/css"> <link rel="stylesheet" href="/static/css/login.css" type="text/css"> Request Method: GET Request URL: https://healthchecks.example.com:443/checks/ Django Version: 2.1.3 Python Executable: /usr/sbin/uwsgi Python Version: 3.6.6 Python Path: ['.', '', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/lib/python3.6/site-packages'] Server time: Fri, 30 Nov 2018 10:42:13 -0500 Installed Applications: ('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'compressor', 'hc.accounts', 'hc.api', 'hc.front', 'hc.payments') Installed Middleware: ('django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'hc.accounts.middleware.TeamAccessMiddleware') Traceback: File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner 34. response = get_response(request) File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response 126. response = self.process_exception_by_middleware(e, request) File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response 124. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python3.6/site-packages/django/contrib/auth/decorators.py" in _wrapped_view 21. return view_func(request, *args, **kwargs) File "./hc/front/views.py" in my_checks 112. return render(request, "front/my_checks.html", ctx) File "/usr/lib/python3.6/site-packages/django/shortcuts.py" in render 36. content = loader.render_to_string(template_name, context, request, using=using) File "/usr/lib/python3.6/site-packages/django/template/loader.py" in render_to_string 62. return template.render(context, request) File "/usr/lib/python3.6/site-packages/django/template/backends/django.py" in render 61. return self.template.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py" in render 171. return self._render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py" in _render 163. return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py" in render 937. bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py" in render_annotated 904. return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/loader_tags.py" in render 150. return compiled_parent._render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py" in _render 163. return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py" in render 937. bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py" in render_annotated 904. return self.render(context) File "/usr/lib/python3.6/site-packages/compressor/templatetags/compress.py" in render 131. return self.render_compressed(context, self.kind, self.mode, forced=forced) File "/usr/lib/python3.6/site-packages/compressor/templatetags/compress.py" in render_compressed 90. return self.render_offline(context) File "/usr/lib/python3.6/site-packages/compressor/templatetags/compress.py" in render_offline 75. 'is the original content:\n\n%s' % (key, original_content)) Exception Type: OfflineGenerationError at /checks/ Exception Value: You have offline compression enabled but key "fc7aa83224b94d450c9742bb7519718eefd0fb958a9d2addbc7af82f739c41b0" is missing from offline manifest. You may need to run "python manage.py compress". Here is the original content: <link rel="stylesheet" href="/static/css/bootstrap.css" type="text/css"> <link rel="stylesheet" href="/static/css/icomoon.css" type="text/css"> <link rel="stylesheet" href="/static/css/nouislider.min.css" type="text/css"> <link rel="stylesheet" href="/static/css/nouislider.pips.css" type="text/css"> <link rel="stylesheet" href="/static/css/selectize.bootstrap3.css" type="text/css"> <link rel="stylesheet" href="/static/css/snippet-copy.css" type="text/css"> <link rel="stylesheet" href="/static/css/base.css" type="text/css"> <link rel="stylesheet" href="/static/css/docs.css" type="text/css"> <link rel="stylesheet" href="/static/css/docs_cron.css" type="text/css"> <link rel="stylesheet" href="/static/css/welcome.css" type="text/css"> <link rel="stylesheet" href="/static/css/my_checks.css" type="text/css"> <link rel="stylesheet" href="/static/css/my_checks_desktop.css" type="text/css"> <link rel="stylesheet" href="/static/css/pricing.css" type="text/css"> <link rel="stylesheet" href="/static/css/syntax.css" type="text/css"> <link rel="stylesheet" href="/static/css/channels.css" type="text/css"> <link rel="stylesheet" href="/static/css/channel_checks.css" type="text/css"> <link rel="stylesheet" href="/static/css/details.css" type="text/css"> <link rel="stylesheet" href="/static/css/log.css" type="text/css"> <link rel="stylesheet" href="/static/css/add_pushover.css" type="text/css"> <link rel="stylesheet" href="/static/css/add_webhook.css" type="text/css"> <link rel="stylesheet" href="/static/css/settings.css" type="text/css"> <link rel="stylesheet" href="/static/css/ping_details.css" type="text/css"> <link rel="stylesheet" href="/static/css/profile.css" type="text/css"> <link rel="stylesheet" href="/static/css/checkbox.css" type="text/css"> <link rel="stylesheet" href="/static/css/radio.css" type="text/css"> <link rel="stylesheet" href="/static/css/billing.css" type="text/css"> <link rel="stylesheet" href="/static/css/login.css" type="text/css"> Request information: USER: cron GET: No GET data POST: No POST data FILES: No FILES data COOKIES: csrftoken = 'NGfbJmJkNTaZwpXb29xXfwNRDhFSWVecLF98YCr3BM0q80Xw4NPrkjw9FevfUM78' sessionid = 'gbta9etj36i1gzkr0bilqdhi7oz0drfd' __cfduid = 'd0f053d73f74db6aa609629aeb1b4ab7d1543351181' 2fatkn = '6e3lqsapr6026ua7p48n5qkhqd' META: CSRF_COOKIE = 'NGfbJmJkNTaZwpXb29xXfwNRDhFSWVecLF98YCr3BM0q80Xw4NPrkjw9FevfUM78' HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' HTTP_ACCEPT_ENCODING = 'gzip' HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.9' HTTP_CF_CONNECTING_IP = '64.128.222.134' HTTP_CF_IPCOUNTRY = 'US' HTTP_CF_RAY = '481e6c369c419574-IAD' HTTP_CF_VISITOR = '{"scheme":"https"}' HTTP_CONNECTION = 'upgrade' HTTP_COOKIE = 'csrftoken=NGfbJmJkNTaZwpXb29xXfwNRDhFSWVecLF98YCr3BM0q80Xw4NPrkjw9FevfUM78; sessionid=gbta9etj36i1gzkr0bilqdhi7oz0drfd; __cfduid=d0f053d73f74db6aa609629aeb1b4ab7d1543351181; 2fatkn=6e3lqsapr6026ua7p48n5qkhqd' HTTP_DNT = '1' HTTP_HOST = 'healthchecks.example.com:443' HTTP_UPGRADE_INSECURE_REQUESTS = '1' HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36' HTTP_X_FORWARDED_FOR = '64.128.222.134, 162.158.78.145' HTTP_X_FORWARDED_HOST = 'healthchecks.example.com' HTTP_X_FORWARDED_PROTO = 'https' HTTP_X_FORWARDED_SSL = 'on' HTTP_X_REAL_IP = '162.158.78.145' PATH_INFO = '/checks/' QUERY_STRING = '' REMOTE_ADDR = '172.18.0.33' REQUEST_METHOD = 'GET' REQUEST_URI = '/checks/' SCRIPT_NAME = '' SERVER_NAME = 'ff194cde2040' SERVER_PORT = '8000' SERVER_PROTOCOL = 'HTTP/1.1' uwsgi.node = b'ff194cde2040' uwsgi.version = b'2.0.17' wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> wsgi.file_wrapper = '' wsgi.input = <uwsgi._Input object at 0x7f57a4488e40> wsgi.multiprocess = False wsgi.multithread = False wsgi.run_once = False wsgi.url_scheme = 'https' wsgi.version = '(1, 0)' Settings: Using settings module hc.settings ABSOLUTE_URL_OVERRIDES = {} ADMINS = [('Alex', 'me@example.com')] ALLOWED_HOSTS = ['healthchecks.example.com'] APPEND_SLASH = True AUTHENTICATION_BACKENDS = "('hc.accounts.backends.EmailBackend', 'hc.accounts.backends.ProfileBackend')" AUTH_PASSWORD_VALIDATORS = '********************' AUTH_USER_MODEL = 'auth.User' BASE_DIR = '/app/healthchecks' CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} CACHE_MIDDLEWARE_ALIAS = 'default' CACHE_MIDDLEWARE_KEY_PREFIX = '********************' CACHE_MIDDLEWARE_SECONDS = 600 COMPRESS_CACHEABLE_PRECOMPILERS = '()' COMPRESS_CACHE_BACKEND = 'default' COMPRESS_CACHE_KEY_FUNCTION = '********************' COMPRESS_CLEAN_CSS_ARGUMENTS = '' COMPRESS_CLEAN_CSS_BINARY = 'cleancss' COMPRESS_CLOSURE_COMPILER_ARGUMENTS = '' COMPRESS_CLOSURE_COMPILER_BINARY = 'java -jar compiler.jar' COMPRESS_CSS_COMPRESSOR = 'compressor.css.CssCompressor' COMPRESS_CSS_FILTERS = ['compressor.filters.css_default.CssAbsoluteFilter'] COMPRESS_CSS_HASHING_METHOD = 'content' COMPRESS_DATA_URI_MAX_SIZE = 1024 COMPRESS_DEBUG_TOGGLE = None COMPRESS_ENABLED = True COMPRESS_JINJA2_GET_ENVIRONMENT = <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f57a37bfc80> COMPRESS_JS_COMPRESSOR = 'compressor.js.JsCompressor' COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter'] COMPRESS_MINT_DELAY = 30 COMPRESS_MTIME_DELAY = 10 COMPRESS_OFFLINE = True COMPRESS_OFFLINE_CONTEXT = {'STATIC_URL': '/static/'} COMPRESS_OFFLINE_MANIFEST = 'manifest.json' COMPRESS_OFFLINE_TIMEOUT = 31536000 COMPRESS_OUTPUT_DIR = 'CACHE' COMPRESS_PARSER = 'compressor.parser.AutoSelectParser' COMPRESS_PRECOMPILERS = '()' COMPRESS_REBUILD_TIMEOUT = 2592000 COMPRESS_ROOT = '/app/healthchecks/static-collected' COMPRESS_STORAGE = 'compressor.storage.CompressorFileStorage' COMPRESS_TEMPLATE_FILTER_CONTEXT = {'STATIC_URL': '/static/'} COMPRESS_URL = '/static/' COMPRESS_URL_PLACEHOLDER = '/__compressor_url_placeholder__/' COMPRESS_VERBOSE = False COMPRESS_YUGLIFY_BINARY = 'yuglify' COMPRESS_YUGLIFY_CSS_ARGUMENTS = '--terminal' COMPRESS_YUGLIFY_JS_ARGUMENTS = '--terminal' COMPRESS_YUI_BINARY = 'java -jar yuicompressor.jar' COMPRESS_YUI_CSS_ARGUMENTS = '' COMPRESS_YUI_JS_ARGUMENTS = '' CSRF_COOKIE_AGE = 31449600 CSRF_COOKIE_DOMAIN = None CSRF_COOKIE_HTTPONLY = False CSRF_COOKIE_NAME = 'csrftoken' CSRF_COOKIE_PATH = '/' CSRF_COOKIE_SAMESITE = 'Lax' CSRF_COOKIE_SECURE = False CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure' CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN' CSRF_TRUSTED_ORIGINS = ['healthchecks.example.com'] CSRF_USE_SESSIONS = False DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/app/healthchecks/hc.sqlite', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'USER': '', 'PASSWORD': '********************', 'HOST': '', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}} DATABASE_ROUTERS = [] DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000 DATETIME_FORMAT = 'N j, Y, P' DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] DATE_FORMAT = 'N j, Y' DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] DEBUG = False DEBUG_PROPAGATE_EXCEPTIONS = False DECIMAL_SEPARATOR = '.' DEFAULT_CHARSET = 'utf-8' DEFAULT_CONTENT_TYPE = 'text/html' DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter' DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' DEFAULT_FROM_EMAIL = 'norelpy@wootables.com' DEFAULT_INDEX_TABLESPACE = '' DEFAULT_TABLESPACE = '' DISALLOWED_USER_AGENTS = [] DISCORD_CLIENT_ID = None DISCORD_CLIENT_SECRET = '********************' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_PASSWORD = '********************' EMAIL_HOST_USER = 'bucketotrash@gmail.com' EMAIL_PORT = '587' EMAIL_SSL_CERTFILE = None EMAIL_SSL_KEYFILE = '********************' EMAIL_SUBJECT_PREFIX = '[Django] ' EMAIL_TIMEOUT = None EMAIL_USE_LOCALTIME = False EMAIL_USE_SSL = False EMAIL_USE_TLS = True FILE_CHARSET = 'utf-8' FILE_UPLOAD_DIRECTORY_PERMISSIONS = None FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 FILE_UPLOAD_PERMISSIONS = None FILE_UPLOAD_TEMP_DIR = None FIRST_DAY_OF_WEEK = 0 FIXTURE_DIRS = [] FORCE_SCRIPT_NAME = None FORMAT_MODULE_PATH = None FORM_RENDERER = 'django.forms.renderers.DjangoTemplates' IGNORABLE_404_URLS = [] INSTALLED_APPS = "('django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'compressor', 'hc.accounts', 'hc.api', 'hc.front', 'hc.payments')" INTERNAL_IPS = [] LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur'] LANGUAGE_CODE = 'en-us' LANGUAGE_COOKIE_AGE = None LANGUAGE_COOKIE_DOMAIN = None LANGUAGE_COOKIE_NAME = 'django_language' LANGUAGE_COOKIE_PATH = '/' LOCALE_PATHS = [] LOGGING = {} LOGGING_CONFIG = 'logging.config.dictConfig' LOGIN_REDIRECT_URL = '/accounts/profile/' LOGIN_URL = '/accounts/login/' LOGOUT_REDIRECT_URL = None MANAGERS = [] MASTER_BADGE_LABEL = 'example.com' MEDIA_ROOT = '' MEDIA_URL = '' MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage' MIDDLEWARE = "('django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'hc.accounts.middleware.TeamAccessMiddleware')" MIGRATION_MODULES = {} MONTH_DAY_FORMAT = 'F j' NUMBER_GROUPING = 0 PASSWORD_HASHERS = '********************' PASSWORD_RESET_TIMEOUT_DAYS = '********************' PD_VENDOR_KEY = '********************' PING_EMAIL_DOMAIN = 'localhost' PING_ENDPOINT = 'https://healthchecks.example.com/ping/' PREPEND_WWW = False PUSHBULLET_CLIENT_ID = None PUSHBULLET_CLIENT_SECRET = '********************' PUSHOVER_API_TOKEN = '********************' PUSHOVER_EMERGENCY_EXPIRATION = 86400 PUSHOVER_EMERGENCY_RETRY_DELAY = 300 PUSHOVER_SUBSCRIPTION_URL = None REGISTRATION_OPEN = True ROOT_URLCONF = 'hc.urls' SECRET_KEY = '********************' SECURE_BROWSER_XSS_FILTER = False SECURE_CONTENT_TYPE_NOSNIFF = False SECURE_HSTS_INCLUDE_SUBDOMAINS = False SECURE_HSTS_PRELOAD = False SECURE_HSTS_SECONDS = 0 SECURE_PROXY_SSL_HEADER = None SECURE_REDIRECT_EXEMPT = [] SECURE_SSL_HOST = None SECURE_SSL_REDIRECT = False SERVER_EMAIL = 'root@localhost' SESSION_CACHE_ALIAS = 'default' SESSION_COOKIE_AGE = 1209600 SESSION_COOKIE_DOMAIN = None SESSION_COOKIE_HTTPONLY = True SESSION_COOKIE_NAME = 'sessionid' SESSION_COOKIE_PATH = '/' SESSION_COOKIE_SAMESITE = 'Lax' SESSION_COOKIE_SECURE = False SESSION_ENGINE = 'django.contrib.sessions.backends.db' SESSION_EXPIRE_AT_BROWSER_CLOSE = False SESSION_FILE_PATH = None SESSION_SAVE_EVERY_REQUEST = False SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer' SETTINGS_MODULE = 'hc.settings' SHORT_DATETIME_FORMAT = 'm/d/Y P' SHORT_DATE_FORMAT = 'm/d/Y' SIGNING_BACKEND = 'django.core.signing.TimestampSigner' SILENCED_SYSTEM_CHECKS = [] SITE_NAME = 'Healthchecks' SITE_ROOT = 'https://healthchecks.example.com' SLACK_CLIENT_ID = None SLACK_CLIENT_SECRET = '********************' STATICFILES_DIRS = ['/app/healthchecks/static'] STATICFILES_FINDERS = "('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder')" STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage' STATIC_ROOT = '/app/healthchecks/static-collected' STATIC_URL = '/static/' TELEGRAM_BOT_NAME = 'ap_healthchecks_bot' TELEGRAM_TOKEN = '********************' TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/healthchecks/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'hc.payments.context_processors.payments']}}] TEST_NON_SERIALIZED_APPS = [] TEST_RUNNER = 'hc.api.tests.CustomRunner' THOUSAND_SEPARATOR = ',' TIME_FORMAT = 'P' TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] TIME_ZONE = 'America/New_York' TRELLO_APP_KEY = '********************' TWILIO_ACCOUNT = None TWILIO_AUTH = None TWILIO_FROM = None USE_I18N = True USE_L10N = True USE_PAYMENTS = False USE_THOUSAND_SEPARATOR = False USE_TZ = True USE_X_FORWARDED_HOST = False USE_X_FORWARDED_PORT = False WSGI_APPLICATION = 'hc.wsgi.application' X_FRAME_OPTIONS = 'SAMEORIGIN' YEAR_MONTH_FORMAT = 'F Y' ZENDESK_CLIENT_ID = None ZENDESK_CLIENT_SECRET = '********************' ```
kerem closed this issue 2026-02-25 23:41:22 +03:00
Author
Owner

@alex-phillips commented on GitHub (Nov 30, 2018):

And here is my uwsgi.ini file contents:

[uwsgi]
http-socket = :8000
enable-threads
plugin = python3
module = hc.wsgi:application
static-map = /static=static-collected
static-gzip-dir = static-collected/CACHE
hook-pre-app = exec:./manage.py collectstatic --noinput
hook-pre-app = exec:./manage.py compress
attach-daemon = ./manage.py sendalerts
<!-- gh-comment-id:443245319 --> @alex-phillips commented on GitHub (Nov 30, 2018): And here is my uwsgi.ini file contents: ``` [uwsgi] http-socket = :8000 enable-threads plugin = python3 module = hc.wsgi:application static-map = /static=static-collected static-gzip-dir = static-collected/CACHE hook-pre-app = exec:./manage.py collectstatic --noinput hook-pre-app = exec:./manage.py compress attach-daemon = ./manage.py sendalerts ```
Author
Owner

@alex-phillips commented on GitHub (Nov 30, 2018):

Nevermind, may have only been an issue on ls3, double checked my version. ls4 works it seems.

<!-- gh-comment-id:443247339 --> @alex-phillips commented on GitHub (Nov 30, 2018): Nevermind, may have only been an issue on ls3, double checked my version. ls4 works it seems.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#150
No description provided.