diff --git a/openbook/settings/__init__.py b/openbook/settings/__init__.py index 55e095982390be3f9bf1b92efe0f09ac128ac9ce..4a7d414d138763d1210724f4bcb51c9bb03131d2 100644 --- a/openbook/settings/__init__.py +++ b/openbook/settings/__init__.py @@ -229,36 +229,28 @@ CACHE_BACKENDS = { } -def redis_cache_backend() -> str: - # use for local cache debugging - result = CACHE_BACKENDS["redis"] - # result = ( - # CACHE_BACKENDS["dummy"] if DEBUG and not (IS_PRODUCTION or IS_STAGING or TESTING) else CACHE_BACKENDS["redis"] - # ) - return result - - CACHES = { "default": { - "BACKEND": redis_cache_backend(), + "BACKEND": CACHE_BACKENDS["redis"], "LOCATION": REDIS_DEFAULT_CACHE_LOCATION, - "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"}, + "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient", "REDIS_CLIENT_KWARGS": {"health_check_interval": 30}}, "KEY_PREFIX": "ob-api-" + ENVIRONMENT_ID + "-", "TIMEOUT": 60 * 60, }, USERBLOCK: { - "BACKEND": redis_cache_backend(), + "BACKEND": CACHE_BACKENDS["redis"], "LOCATION": REDIS_USERBLOCK_CACHE_LOCATION, - "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"}, + "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient", "REDIS_CLIENT_KWARGS": {"health_check_interval": 30}}, "KEY_PREFIX": f"ob-userblock-{ENVIRONMENT_ID}-", "TIMEOUT": 60 * 60, # 1 hour }, UNIFIED_API_RESPONSE_CACHE: { - "BACKEND": redis_cache_backend(), + "BACKEND": CACHE_BACKENDS["redis"], "LOCATION": REDIS_UNIFIED_API_RESPONSE_CACHE_LOCATION, "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "SERIALIZER": "django_redis.serializers.json.JSONSerializer", + "REDIS_CLIENT_KWARGS": {"health_check_interval": 30} }, "KEY_PREFIX": "response-cache", "KEY_FUNCTION": "openbook.utils.unified_api_response_cache_key_function", @@ -266,21 +258,21 @@ CACHES = { "TIMEOUT": 60 * 60, }, RQ_DEFAULT_JOBS: { - "BACKEND": CACHE_BACKENDS["redis"], # django_rq needs redis, doesn't work with dummy backend + "BACKEND": CACHE_BACKENDS["redis"], "LOCATION": REDIS_RQ_DEFAULT_JOBS_CACHE_LOCATION, - "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"}, + "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient", "REDIS_CLIENT_KWARGS": {"health_check_interval": 30}}, "KEY_PREFIX": "ob-api-rq-default-job-" + ENVIRONMENT_ID + "-", }, RQ_HIGH_JOBS: { - "BACKEND": CACHE_BACKENDS["redis"], # django_rq needs redis, doesn't work with dummy backend + "BACKEND": CACHE_BACKENDS["redis"], "LOCATION": REDIS_RQ_HIGH_JOBS_CACHE_LOCATION, - "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"}, + "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient", "REDIS_CLIENT_KWARGS": {"health_check_interval": 30}}, "KEY_PREFIX": "ob-api-rq-high-job-" + ENVIRONMENT_ID + "-", }, RQ_LOW_JOBS: { - "BACKEND": CACHE_BACKENDS["redis"], # django_rq needs redis, doesn't work with dummy backend + "BACKEND": CACHE_BACKENDS["redis"], "LOCATION": REDIS_RQ_LOW_JOBS_CACHE_LOCATION, - "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient"}, + "OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient", "REDIS_CLIENT_KWARGS": {"health_check_interval": 30}}, "KEY_PREFIX": "ob-api-rq-low-job-" + ENVIRONMENT_ID + "-", }, } diff --git a/terraform/environments/scripts/destroy-env.sh b/terraform/environments/scripts/destroy-env.sh index d8137694745e9a6bcded13142bf6a5e666b55e6c..aac6dea64eafc13c326e5b4819351c32365e9b3c 100755 --- a/terraform/environments/scripts/destroy-env.sh +++ b/terraform/environments/scripts/destroy-env.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh # exit when any command fails set -ex @@ -12,7 +12,7 @@ export TF_LOG=DEBUG # * GCP stuff not allowing our resources to be deleted. # Most of the time, retrying a destroy fixes these causes. retry() { - for i in {1..3}; do + for i in $(seq 1 3); do set +e "$@" retval=$?