forked from ffischer1984/geonode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcelery-cmd
More file actions
41 lines (37 loc) · 2.06 KB
/
Copy pathcelery-cmd
File metadata and controls
41 lines (37 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env bash
# A configurable celery command.
# Luca Pasquali <luca.pasquali@geosolutionsgroup.com>
CELERY_BIN=${CELERY_BIN:-"$(which celery||echo celery)"}
CELERY_APP=${CELERY_APP:-"geonode.celery_app:app"}
CELERY__STATE_DB=${CELERY__STATE_DB:-"/mnt/volumes/statics/worker@%h.state"}
# expressed in KB
CELERY__MAX_MEMORY_PER_CHILD=${CELERY__MAX_MEMORY_PER_CHILD:-"200000"}
CELERY__AUTOSCALE_VALUES=${CELERY__AUTOSCALE_VALUES:-"10,5"}
CELERY__MAX_TASKS_PER_CHILD=${CELERY__MAX_TASKS_PER_CHILD:-"10"}
CELERY__OPTS=${CELERY__OPTS:-"--without-gossip --without-mingle -Ofair -B -E"}
CELERY__BEAT_SCHEDULE=${CELERY__BEAT_SCHEDULE:-"celery.beat:PersistentScheduler"}
CELERY__LOG_LEVEL=${CELERY__LOG_LEVEL:-"ERROR"}
CELERY__LOG_FILE=${CELERY__LOG_FILE:-"/var/log/celery.log"}
CELERY__WORKER_NAME=${CELERY__WORKER_NAME:-"worker1@%h"}
CELERY__WORKER_CONCURRENCY=${CELERY__WORKER_CONCURRENCY:-"4"}
# Harvester settings
CELERY__HARVESTER_WORKER_NAME=${CELERY__HARVESTER_WORKER_NAME:-"harvesting_worker@%h"}
CELERY__HARVESTER_CONCURRENCY=${CELERY__HARVESTER_CONCURRENCY:-"10"}
CELERY__HARVESTER_AUTOSCALE_VALUES=${CELERY__HARVESTER_AUTOSCALE_VALUES:-"15,10"}
CELERY__HARVESTER_MAX_MEMORY_PER_CHILD=${CELERY__MAX_MEMORY_PER_CHILD:-"500000"}
CELERY__HARVESTER_LOG_FILE=${CELERY__HARVESTER_LOG_FILE:-"/var/log/celery_harvester.log"}
$CELERY_BIN -A $CELERY_APP worker --autoscale=$CELERY__AUTOSCALE_VALUES \
--max-memory-per-child=$CELERY__MAX_MEMORY_PER_CHILD $CELERY__OPTS \
--statedb=$CELERY__STATE_DB --scheduler=$CELERY__BEAT_SCHEDULE \
--loglevel=$CELERY__LOG_LEVEL -n $CELERY__WORKER_NAME -f $CELERY__LOG_FILE \
--concurrency=$CELERY__WORKER_CONCURRENCY --max-tasks-per-child=$CELERY__MAX_TASKS_PER_CHILD \
-X harvesting &
$CELERY_BIN -A $CELERY_APP worker -Q harvesting \
--autoscale=$CELERY__HARVESTER_AUTOSCALE_VALUES \
--max-memory-per-child=$CELERY__HARVESTER_MAX_MEMORY_PER_CHILD \
--loglevel=$CELERY__LOG_LEVEL \
-n $CELERY__HARVESTER_WORKER_NAME \
--concurrency=$CELERY__HARVESTER_CONCURRENCY \
-f $CELERY__HARVESTER_LOG_FILE &
# Keep the container alive
wait