Skip to content

Commit 938071c

Browse files
committed
fetch new values from config
Signed-off-by: Adrian Edwards <adredwar@redhat.com>
1 parent 50daa80 commit 938071c

4 files changed

Lines changed: 17 additions & 7 deletions

File tree

augur/application/cli/backend.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,10 @@ def start(ctx, disable_collection, development, pidfile, port):
8787
if disable_collection:
8888
os.environ["AUGUR_DISABLE_COLLECTION"] = "1"
8989

90-
worker_vmem_cap = get_value("Celery", 'worker_process_vmem_cap')
90+
core_worker_count = get_value("Celery", 'core_worker_count')
91+
secondary_worker_count = get_value("Celery", 'secondary_worker_count')
92+
facade_worker_count = get_value("Celery", 'facade_worker_count')
93+
9194

9295
# create rabbit messages so if it failed on shutdown the queues are clean
9396
cleanup_collection_status_and_rabbit(logger, ctx.obj.engine)
@@ -119,7 +122,7 @@ def start(ctx, disable_collection, development, pidfile, port):
119122
logger.info(f'Augur is running at: {"http" if development else "https"}://{host}:{port}')
120123
logger.info(f"The API is available at '{api_response.json()['route']}'")
121124

122-
processes = start_celery_worker_processes(float(worker_vmem_cap), disable_collection)
125+
processes = start_celery_worker_processes((core_worker_count, secondary_worker_count, facade_worker_count), disable_collection)
123126

124127
celery_beat_schedule_db = os.getenv("CELERYBEAT_SCHEDULE_DB", "celerybeat-schedule.db")
125128
if os.path.exists(celery_beat_schedule_db):

augur/application/cli/collection.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,11 @@ def start(ctx, development):
7878
os.environ["AUGUR_DEV"] = "1"
7979
logger.info("Starting in development mode")
8080

81-
worker_vmem_cap = get_value("Celery", 'worker_process_vmem_cap')
81+
core_worker_count = get_value("Celery", 'core_worker_count')
82+
secondary_worker_count = get_value("Celery", 'secondary_worker_count')
83+
facade_worker_count = get_value("Celery", 'facade_worker_count')
8284

83-
process_list = start_celery_collection_processes(float(worker_vmem_cap))
85+
process_list = start_celery_collection_processes((core_worker_count, secondary_worker_count, facade_worker_count))
8486

8587
if os.path.exists("celerybeat-schedule.db"):
8688
logger.info("Deleting old task schedule")

augur/application/config.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ def get_development_flag():
6969
"log_level": "INFO",
7070
},
7171
"Celery": {
72-
"worker_process_vmem_cap": 0.25,
72+
"core_worker_count": 5,
73+
"secondary_worker_count": 5,
74+
"facade_worker_count": 5,
7375
"refresh_materialized_views_interval_in_days": 1
7476
},
7577
"Redis": {

docs/source/getting-started/collecting-data.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,11 @@ Celery Configuration
8888

8989
**We strongly recommend leaving the default celery blocks generated by the installation process, but if you would like to know more, or fine-tune them to your needs, read on.**
9090

91-
The celery monitor is responsible for generating the tasks that will tell the other worker processes what data to collect, and how. The ``Celery`` block has 2 keys; one for memory cap and one for materialized views interval.
92-
- ``worker_process_vmem_cap``, float between zero and one that determines the maximum percentage of total memory to use for worker processes
91+
The celery monitor is responsible for generating the tasks that will tell the other worker processes what data to collect, and how. The ``Celery`` block has several keys:
92+
93+
- ``core_worker_count``, the number of workers to spawn to run the core tasks.
94+
- ``secondary_worker_count``, the number of workers to spawn to run the secondary tasks.
95+
- ``facade_worker_count``, the number of workers to spawn to run the facade tasks.
9396

9497
- ``refresh_materialized_views_interval_in_days``, number of days to wait between refreshes of materialized views.
9598

0 commit comments

Comments
 (0)