Skip to content

Commit 4b6efd6

Browse files
author
Ruben L. Mendoza
authored
Cache cleaner - Delete tegola process after x numbers (#298)
* Remove tegola process * Add env vars to clean cache * Add quote for values - cache cleaner * Update var names * Add quote for en var
1 parent bfb658d commit 4b6efd6

File tree

5 files changed

+34
-2
lines changed

5 files changed

+34
-2
lines changed

images/tiler-server/Dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,6 @@ COPY ./start.sh .
5252
COPY ./expire-watcher.sh .
5353
COPY ./seed-by-diffs.sh .
5454
COPY ./tile_cache_downloader.sh .
55-
CMD ./start.sh & ./tile_cache_downloader.sh & ./expire-watcher.sh
55+
COPY ./rm_tegola_ps.sh .
56+
57+
CMD ./start.sh & ./tile_cache_downloader.sh & ./expire-watcher.sh & ./rm_tegola_ps.sh

images/tiler-server/cache_cleaner.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ flag=true
33
while "$flag" = true; do
44
pg_isready -h $POSTGRES_HOST -p 5432 >/dev/null 2>&2 || continue
55
flag=false
6-
./tile_cache_downloader.sh & ./expire-watcher.sh
6+
./tile_cache_downloader.sh & ./expire-watcher.sh & ./rm_tegola_ps.sh
77
done

images/tiler-server/rm_tegola_ps.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
set -e
3+
if [[ -n "${KILL_PROCESS}" && "${KILL_PROCESS}" == "manually" ]]; then
4+
while true; do
5+
NUM_PS=$(ps | grep ${PROCESS_NAME} | grep -v grep | wc -l)
6+
if [[ $NUM_PS -gt $MAX_NUM_PS ]]; then
7+
aws s3 rm s3://${TILER_CACHE_BUCKET}/mnt/data/osm/ --recursive
8+
echo "${PROCESS_NAME} processes"
9+
ps aux | grep ${PROCESS_NAME} | grep -v grep
10+
# After clearing the S3 cache, terminate all 'tegola' processes.
11+
killall ${PROCESS_NAME}
12+
fi
13+
sleep 600
14+
done
15+
fi

osm-seed/templates/tiler-server/tiler-server-cache-cleaner-deployment.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ spec:
6262
value: {{ quote .Values.tilerServer.env.TILER_CACHE_AWS_SECRET_ACCESS_KEY }}
6363
- name: TILER_CACHE_MAX_ZOOM
6464
value: {{ quote .Values.tilerServer.env.TILER_CACHE_MAX_ZOOM }}
65+
- name: MAX_NUM_PS
66+
value: {{ quote .Values.tilerServerCacheCleaner.env.MAX_NUM_PS }}
67+
- name: PROCESS_NAME
68+
value: {{ .Values.tilerServerCacheCleaner.env.PROCESS_NAME }}
69+
- name: KILL_PROCESS
70+
value: {{ .Values.tilerServerCacheCleaner.env.KILL_PROCESS }}
6571
- name: CLOUDPROVIDER
6672
value: {{ .Values.cloudProvider }}
6773
# In case cloudProvider=aws

osm-seed/values.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -443,10 +443,19 @@ tilerServerCacheCleaner:
443443
limits:
444444
memory: '2Gi'
445445
cpu: '2'
446+
env:
447+
KILL_PROCESS: manually
448+
MAX_NUM_PS: 3
449+
PROCESS_NAME: tegola
446450
nodeSelector:
447451
enabled: false
448452
label_key: nodegroup_type
449453
label_value: tiler
454+
autoscaling:
455+
enabled: false
456+
minReplicas: 1
457+
maxReplicas: 2
458+
cpuUtilization: 60
450459
# ====================================================================================================
451460
# Variables for tiler-visor
452461
# ====================================================================================================

0 commit comments

Comments
 (0)