Files
edx-platform/openedx/core/djangoapps/heartbeat
Alan Evangelista b9559fc934 Move Celery check task to the high priority queue
Currently, LMS uses 3 Celery workers: lms_default_1, lms_high_1 and
lms_high_mem_1. Each Celery worker sends messages to a single queue:
edx.core.default, edx.core.high and edx.core.high_mem, respectively.
The number of child processes per Celery worker is set to 1. Due to
this configuration, any task in a queue blocks all other tasks.

Currently, the Celery check task submitted by the /heartbeat?extended
LMS HTTP API endpoint runs in the default queue. When some slow task
(eg course grades creation) is sent to the default queue, it will
block the Celery check task, which will expire and the heartbeat endpoint
will fail. This patch moves the task to another queue which has
only shorter tasks and in which this problem will not occur.

Use a Django setting for the Celery check task routing key so that
it can be overriden by individual OpenEDX instances via JSON
env files.
2020-09-24 01:27:08 -07:00
..
2019-12-30 10:35:30 -05:00
2019-12-30 10:35:30 -05:00
2019-04-25 16:00:53 -04:00
2019-12-30 10:35:30 -05:00
2019-12-30 10:35:30 -05:00

Status: Maintenance

Responsibilities
================
The Heartbeat app provides a simple endpoint that lets the load balancer know that our application hasn't gone down (so that it will know to take us out of the worker pool if we're not responding).

Direction: Keep
===============
There is no work planned for this app at this time.

Glossary
========

More Documentation
==================