Skip to content

Commit 2eefe21

Browse files
authored
[Fixes #13577] Spawn Celery workers for harvesters (#13579)
1 parent 9d61e0f commit 2eefe21

File tree

2 files changed

+31
-4
lines changed

2 files changed

+31
-4
lines changed

.env.sample

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,15 +222,23 @@ LDAP_GROUP_PROFILE_MEMBER_ATTR=uniqueMember
222222
# CELERY__MAX_MEMORY_PER_CHILD="200000"
223223
# ##
224224
# Note right autoscale value must coincide with worker concurrency value
225-
# CELERY__AUTOSCALE_VALUES="15,10"
226-
# CELERY__WORKER_CONCURRENCY="10"
225+
# CELERY__AUTOSCALE_VALUES="10,5"
226+
# CELERY__WORKER_CONCURRENCY="4"
227227
# ##
228228
# CELERY__OPTS="--without-gossip --without-mingle -Ofair -B -E"
229229
# CELERY__BEAT_SCHEDULE="/mnt/volumes/statics/celerybeat-schedule"
230230
# CELERY__LOG_LEVEL="INFO"
231231
# CELERY__LOG_FILE="/var/log/celery.log"
232232
# CELERY__WORKER_NAME="worker1@%h"
233233

234+
# CELERY for harvesters
235+
# CELERY__HARVESTER_WORKER_NAME="harvesting_worker@%h"
236+
# CELERY__HARVESTER_CONCURRENCY="3"
237+
# CELERY__HARVESTER_AUTOSCALE_VALUES="5,3"
238+
# CELERY__HARVESTER_MAX_MEMORY_PER_CHILD="500000"
239+
# CELERY__HARVESTER_LOG_FILE="/var/log/celery_harvester.log"
240+
241+
234242
# PostgreSQL
235243
POSTGRESQL_MAX_CONNECTIONS=200
236244

celery-cmd

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CELERY_APP=${CELERY_APP:-"geonode.celery_app:app"}
66
CELERY__STATE_DB=${CELERY__STATE_DB:-"/mnt/volumes/statics/worker@%h.state"}
77
# expressed in KB
88
CELERY__MAX_MEMORY_PER_CHILD=${CELERY__MAX_MEMORY_PER_CHILD:-"200000"}
9-
CELERY__AUTOSCALE_VALUES=${CELERY__AUTOSCALE_VALUES:-"15,10"}
9+
CELERY__AUTOSCALE_VALUES=${CELERY__AUTOSCALE_VALUES:-"10,5"}
1010
CELERY__MAX_TASKS_PER_CHILD=${CELERY__MAX_TASKS_PER_CHILD:-"10"}
1111
CELERY__OPTS=${CELERY__OPTS:-"--without-gossip --without-mingle -Ofair -B -E"}
1212
CELERY__BEAT_SCHEDULE=${CELERY__BEAT_SCHEDULE:-"celery.beat:PersistentScheduler"}
@@ -15,8 +15,27 @@ CELERY__LOG_FILE=${CELERY__LOG_FILE:-"/var/log/celery.log"}
1515
CELERY__WORKER_NAME=${CELERY__WORKER_NAME:-"worker1@%h"}
1616
CELERY__WORKER_CONCURRENCY=${CELERY__WORKER_CONCURRENCY:-"4"}
1717

18+
# Harvester settings
19+
CELERY__HARVESTER_WORKER_NAME=${CELERY__HARVESTER_WORKER_NAME:-"harvesting_worker@%h"}
20+
CELERY__HARVESTER_CONCURRENCY=${CELERY__HARVESTER_CONCURRENCY:-"10"}
21+
CELERY__HARVESTER_AUTOSCALE_VALUES=${CELERY__HARVESTER_AUTOSCALE_VALUES:-"15,10"}
22+
CELERY__HARVESTER_MAX_MEMORY_PER_CHILD=${CELERY__MAX_MEMORY_PER_CHILD:-"500000"}
23+
CELERY__HARVESTER_LOG_FILE=${CELERY__HARVESTER_LOG_FILE:-"/var/log/celery_harvester.log"}
24+
1825
$CELERY_BIN -A $CELERY_APP worker --autoscale=$CELERY__AUTOSCALE_VALUES \
1926
--max-memory-per-child=$CELERY__MAX_MEMORY_PER_CHILD $CELERY__OPTS \
2027
--statedb=$CELERY__STATE_DB --scheduler=$CELERY__BEAT_SCHEDULE \
2128
--loglevel=$CELERY__LOG_LEVEL -n $CELERY__WORKER_NAME -f $CELERY__LOG_FILE \
22-
--concurrency=$CELERY__WORKER_CONCURRENCY --max-tasks-per-child=$CELERY__MAX_TASKS_PER_CHILD
29+
--concurrency=$CELERY__WORKER_CONCURRENCY --max-tasks-per-child=$CELERY__MAX_TASKS_PER_CHILD \
30+
-X harvesting &
31+
32+
$CELERY_BIN -A $CELERY_APP worker -Q harvesting \
33+
--autoscale=$CELERY__HARVESTER_AUTOSCALE_VALUES \
34+
--max-memory-per-child=$CELERY__HARVESTER_MAX_MEMORY_PER_CHILD \
35+
--loglevel=$CELERY__LOG_LEVEL \
36+
-n $CELERY__HARVESTER_WORKER_NAME \
37+
--concurrency=$CELERY__HARVESTER_CONCURRENCY \
38+
-f $CELERY__HARVESTER_LOG_FILE &
39+
40+
# Keep the container alive
41+
wait

0 commit comments

Comments
 (0)