# What this PR does This PR: - modifies the `check_escalation_finished_task` celery task to: - do stricter escalation validation based on the alert group's escalation snapshot (see the `audit_alert_group_escalation` method in `engine/apps/alerts/tasks/check_escalation_finished.py` for the validation logic) - use a read-only database for querying alert-groups if one is configured, otherwise use the "default" one - ping a configurable heartbeat (new env var `ALERT_GROUP_ESCALATION_AUDITOR_CELERY_TASK_HEARTBEAT_URL` added) - increase the task frequency from every 10 to every 13 minutes (this can be configured via an env variable) - adds public documentation on how to configure this auditor task - modifies the local celery startup command to properly take into consideration all celery related env vars (similar to the ones we use in `engine/celery_with_exporter.sh`; this made it easier to enable `celery beat` locally for testing) - removes the following code: - removes references to `AlertGroup.estimate_escalation_finish_time` and marks the model field as deprecated using the [`django-deprecate-fields` library](https://pypi.org/project/django-deprecate-fields/). This field was only used for the previous version of this validation task - `EscalationSnapshotMixin.calculate_eta_for_finish_escalation` was only used to calculate the value for `AlertGroup.estimate_escalation_finish_time` - `calculate_escalation_finish_time` celery task ## Which issue(s) this PR fixes https://github.com/grafana/oncall-private/issues/1558 ## Checklist - [x] Tests updated - [x] Documentation added - [x] `CHANGELOG.md` updated
54 lines
1.4 KiB
Text
54 lines
1.4 KiB
Text
django==3.2.18
|
|
djangorestframework==3.12.4
|
|
slackclient==1.3.0
|
|
whitenoise==5.3.0
|
|
twilio~=6.37.0
|
|
phonenumbers==8.10.0
|
|
django-ordered-model==3.1.1
|
|
celery[amqp,redis]==5.2.7
|
|
redis==3.4.1
|
|
humanize==0.5.1
|
|
uwsgi==2.0.20
|
|
django-cors-headers==3.7.0
|
|
django-debug-toolbar==3.2.1
|
|
django-sns-view==0.1.2
|
|
python-telegram-bot==13.13
|
|
django-silk==5.0.3
|
|
django-redis-cache==3.0.0
|
|
hiredis==1.0.0
|
|
django-ratelimit==2.0.0
|
|
django-filter==2.4.0
|
|
icalendar==4.0.7
|
|
recurring-ical-events==0.1.16b0
|
|
slack-export-viewer==1.0.0
|
|
beautifulsoup4==4.8.1
|
|
social-auth-app-django==3.1.0
|
|
cryptography==38.0.4 # version 39.0.0 introduced an issue - https://stackoverflow.com/a/75053968/3902555
|
|
pytest==5.4.3
|
|
pytest-django==3.9.0
|
|
pytest_factoryboy==2.0.3
|
|
factory-boy<3.0
|
|
python-json-logger==2.0.1
|
|
django-log-request-id==1.6.0
|
|
django-polymorphic==3.0.0
|
|
django-rest-polymorphic==0.1.9
|
|
pre-commit==2.15.0
|
|
https://github.com/grafana/fcm-django/archive/refs/tags/v1.0.12r1.tar.gz
|
|
django-mirage-field==1.3.0
|
|
django-mysql==4.6.0
|
|
PyMySQL==1.0.2
|
|
psycopg2==2.9.3
|
|
emoji==1.7.0
|
|
regex==2021.11.2
|
|
psutil==5.9.4
|
|
django-migration-linter==4.1.0
|
|
django-add-default-value==0.10.0
|
|
opentelemetry-instrumentation-celery==0.36b0
|
|
opentelemetry-instrumentation-pymysql==0.36b0
|
|
opentelemetry-instrumentation-wsgi==0.36b0
|
|
opentelemetry-exporter-otlp-proto-grpc==1.15.0
|
|
pyroscope-io==0.8.1
|
|
django-dbconn-retry==0.1.7
|
|
django-ipware==4.0.2
|
|
django-anymail==8.6
|
|
django-deprecate-fields==0.1.1
|