Test celery tasks have queue assignment (#2922)
# What this PR does - Add a test to ensure celery tasks are assigned to a queue - Move CELERY_TASK_ROUTES out of settings into its own file for easier reuse and reference. ## Which issue(s) this PR fixes ## Checklist - [x] Unit, integration, and e2e (if applicable) tests updated - [x] Documentation added (or `pr:no public docs` PR label added if not required) - [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required)
This commit is contained in:
parent
6b8c1ac94e
commit
56c0c023ad
3 changed files with 204 additions and 112 deletions
35
engine/common/tests/test_task_queue_assignment.py
Normal file
35
engine/common/tests/test_task_queue_assignment.py
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
from celery import current_app
|
||||
|
||||
from settings.celery_task_routes import CELERY_TASK_ROUTES
|
||||
|
||||
"""
|
||||
If a task has a legitimate reason to not have a queue assignment it can
|
||||
be added here (In development, in process of deprecation, etc.) if possible
|
||||
we should avoid @shared_dedicated_queue_retry_task or @shared_task and
|
||||
remove entirely if it is not needed.
|
||||
"""
|
||||
COMMON_IGNORED_TASKS = {
|
||||
"apps.mobile_app.tasks.new_alert_group.notify_user_async",
|
||||
"apps.alerts.tasks.create_contact_points_for_datasource.schedule_create_contact_points_for_datasource",
|
||||
"common.oncall_gateway.tasks.create_slack_connector_async_v2",
|
||||
}
|
||||
|
||||
|
||||
def check_celery_task_route_mapping(task_ids, ignored_prefixes, additional_ignored_tasks=None):
|
||||
tasks = set(k for k in current_app.tasks.keys() if not k.startswith(ignored_prefixes))
|
||||
tasks -= set(COMMON_IGNORED_TASKS)
|
||||
if additional_ignored_tasks:
|
||||
tasks -= set(additional_ignored_tasks)
|
||||
tasks -= set(task_ids)
|
||||
if tasks:
|
||||
print(f"Unassigned queue for celery task {tasks}")
|
||||
assert len(tasks) == 0
|
||||
|
||||
|
||||
def test_celery_task_route_mapping():
|
||||
"""
|
||||
If this test does not pass make sure you have added any newly added
|
||||
@shared_dedicated_queue_retry_task or @shared_task to CELERY_TASK_ROUTES
|
||||
in engine/settings/celery_task_routes.py
|
||||
"""
|
||||
check_celery_task_route_mapping(CELERY_TASK_ROUTES.keys(), ("extensions", "celery"))
|
||||
167
engine/settings/celery_task_routes.py
Normal file
167
engine/settings/celery_task_routes.py
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
CELERY_TASK_ROUTES = {
|
||||
# DEFAULT
|
||||
"apps.alerts.tasks.create_contact_points_for_datasource.create_contact_points_for_datasource": {"queue": "default"},
|
||||
"apps.alerts.tasks.sync_grafana_alerting_contact_points.disconnect_integration_from_alerting_contact_points": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.alerts.tasks.sync_grafana_alerting_contact_points.sync_grafana_alerting_contact_points": {"queue": "default"},
|
||||
"apps.alerts.tasks.delete_alert_group.delete_alert_group": {"queue": "default"},
|
||||
"apps.alerts.tasks.invalidate_web_cache_for_alert_group.invalidate_web_cache_for_alert_group": {"queue": "default"},
|
||||
"apps.alerts.tasks.send_alert_group_signal.send_alert_group_signal": {"queue": "default"},
|
||||
"apps.alerts.tasks.wipe.wipe": {"queue": "default"},
|
||||
"common.oncall_gateway.tasks.create_oncall_connector_async": {"queue": "default"},
|
||||
"common.oncall_gateway.tasks.delete_oncall_connector_async": {"queue": "default"},
|
||||
"common.oncall_gateway.tasks.create_slack_connector_async": {"queue": "default"},
|
||||
"common.oncall_gateway.tasks.delete_slack_connector_async": {"queue": "default"},
|
||||
"common.oncall_gateway.tasks.delete_slack_connector_async_v2": {"queue": "default"},
|
||||
"apps.heartbeat.tasks.integration_heartbeat_checkup": {"queue": "default"},
|
||||
"apps.heartbeat.tasks.process_heartbeat_task": {"queue": "default"},
|
||||
"apps.metrics_exporter.tasks.start_calculate_and_cache_metrics": {"queue": "default"},
|
||||
"apps.metrics_exporter.tasks.start_recalculation_for_new_metric": {"queue": "default"},
|
||||
"apps.metrics_exporter.tasks.save_organizations_ids_in_cache": {"queue": "default"},
|
||||
"apps.mobile_app.tasks.new_shift_swap_request.notify_shift_swap_requests": {"queue": "default"},
|
||||
"apps.mobile_app.tasks.new_shift_swap_request.notify_shift_swap_request": {"queue": "default"},
|
||||
"apps.mobile_app.tasks.new_shift_swap_request.notify_user_about_shift_swap_request": {"queue": "default"},
|
||||
"apps.schedules.tasks.refresh_ical_files.refresh_ical_file": {"queue": "default"},
|
||||
"apps.schedules.tasks.refresh_ical_files.start_refresh_ical_files": {"queue": "default"},
|
||||
"apps.schedules.tasks.refresh_ical_files.refresh_ical_final_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.refresh_ical_files.start_refresh_ical_final_schedules": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.check_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.start_notify_about_gaps_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.check_gaps_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.notify_about_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.schedule_notify_about_gaps_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.start_check_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.start_check_gaps_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.start_notify_about_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.check_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.notify_about_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.start_check_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.start_notify_about_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.schedule_notify_about_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.shift_swaps.slack_messages.create_shift_swap_request_message": {"queue": "default"},
|
||||
"apps.schedules.tasks.shift_swaps.slack_messages.update_shift_swap_request_message": {"queue": "default"},
|
||||
"apps.schedules.tasks.shift_swaps.slack_followups.send_shift_swap_request_slack_followups": {"queue": "default"},
|
||||
"apps.schedules.tasks.shift_swaps.slack_followups.send_shift_swap_request_slack_followup": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.start_migration_from_old_amixr": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_schedules": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_integrations": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_routes": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_escalation_policies": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.start_migration_alert_groups": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_alert_group": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.start_migration_alerts": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_alert": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.start_migration_logs": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_log": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.start_migration_user_data": {"queue": "default"},
|
||||
"apps.migration_tool.tasks.migrate_user_data": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.notify_about_gaps_in_schedule": {"queue": "default"},
|
||||
"celery.backend_cleanup": {"queue": "default"},
|
||||
"apps.heartbeat.tasks.check_heartbeats": {"queue": "default"},
|
||||
"apps.oss_installation.tasks.send_cloud_heartbeat_task": {"queue": "default"},
|
||||
"apps.oss_installation.tasks.send_usage_stats_report": {"queue": "default"},
|
||||
"apps.oss_installation.tasks.sync_users_with_cloud": {"queue": "default"},
|
||||
# CRITICAL
|
||||
"apps.alerts.tasks.acknowledge_reminder.acknowledge_reminder_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.acknowledge_reminder.unacknowledge_timeout_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.distribute_alert.distribute_alert": {"queue": "critical"},
|
||||
"apps.alerts.tasks.distribute_alert.send_alert_create_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.escalate_alert_group.escalate_alert_group": {"queue": "critical"},
|
||||
"apps.alerts.tasks.invite_user_to_join_incident.invite_user_to_join_incident": {"queue": "critical"},
|
||||
"apps.alerts.tasks.maintenance.check_maintenance_finished": {"queue": "critical"},
|
||||
"apps.alerts.tasks.maintenance.disable_maintenance": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_all.notify_all_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_group.notify_group_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_ical_schedule_shift.notify_ical_schedule_shift": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_user.notify_user_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_user.perform_notification": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_user.send_user_notification_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.resolve_alert_group_by_source_if_needed.resolve_alert_group_by_source_if_needed": {
|
||||
"queue": "critical"
|
||||
},
|
||||
"apps.alerts.tasks.resolve_by_last_step.resolve_by_last_step_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.send_update_log_report_signal.send_update_log_report_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.send_update_resolution_note_signal.send_update_resolution_note_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.unsilence.unsilence_task": {"queue": "critical"},
|
||||
"apps.base.tasks.process_failed_to_invoke_celery_tasks": {"queue": "critical"},
|
||||
"apps.base.tasks.process_failed_to_invoke_celery_tasks_batch": {"queue": "critical"},
|
||||
"apps.email.tasks.notify_user_async": {"queue": "critical"},
|
||||
"apps.integrations.tasks.create_alert": {"queue": "critical"},
|
||||
"apps.integrations.tasks.create_alertmanager_alerts": {"queue": "critical"},
|
||||
"apps.integrations.tasks.start_notify_about_integration_ratelimit": {"queue": "critical"},
|
||||
# TODO: remove apps.mobile_app.tasks.notify_user_async in a future release
|
||||
"apps.mobile_app.tasks.notify_user_async": {"queue": "critical"},
|
||||
"apps.mobile_app.tasks.new_alert_group.notify_user_about_new_alert_group": {"queue": "critical"},
|
||||
"apps.mobile_app.tasks.going_oncall_notification.conditionally_send_going_oncall_push_notifications_for_schedule": {
|
||||
"queue": "critical"
|
||||
},
|
||||
"apps.mobile_app.tasks.going_oncall_notification.conditionally_send_going_oncall_push_notifications_for_all_schedules": {
|
||||
"queue": "critical"
|
||||
},
|
||||
"apps.schedules.tasks.drop_cached_ical.drop_cached_ical_for_custom_events_for_organization": {"queue": "critical"},
|
||||
"apps.schedules.tasks.drop_cached_ical.drop_cached_ical_task": {"queue": "critical"},
|
||||
# GRAFANA
|
||||
"apps.grafana_plugin.tasks.sync.plugin_sync_organization_async": {"queue": "grafana"},
|
||||
# LONG
|
||||
"apps.alerts.tasks.alert_group_web_title_cache.update_web_title_cache_for_alert_receive_channel": {"queue": "long"},
|
||||
"apps.alerts.tasks.alert_group_web_title_cache.update_web_title_cache": {"queue": "long"},
|
||||
"apps.alerts.tasks.check_escalation_finished.check_escalation_finished_task": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.cleanup_organization_async": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.start_cleanup_deleted_organizations": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.start_sync_organizations": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.sync_organization_async": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.sync_team_members_for_organization_async": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.start_sync_regions": {"queue": "long"},
|
||||
"apps.metrics_exporter.tasks.calculate_and_cache_metrics": {"queue": "long"},
|
||||
"apps.metrics_exporter.tasks.calculate_and_cache_user_was_notified_metric": {"queue": "long"},
|
||||
# SLACK
|
||||
"apps.integrations.tasks.notify_about_integration_ratelimit_in_slack": {"queue": "slack"},
|
||||
"apps.slack.helpers.alert_group_representative.on_alert_group_action_triggered_async": {"queue": "slack"},
|
||||
"apps.slack.helpers.alert_group_representative.on_alert_group_update_log_report_async": {"queue": "slack"},
|
||||
"apps.slack.helpers.alert_group_representative.on_create_alert_slack_representative_async": {"queue": "slack"},
|
||||
"apps.slack.tasks.clean_slack_channel_leftovers": {"queue": "slack"},
|
||||
"apps.slack.tasks.check_slack_message_exists_before_post_message_to_thread": {"queue": "slack"},
|
||||
"apps.slack.tasks.clean_slack_integration_leftovers": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_channels": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_channels_for_team": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_user_identities": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_usergroups": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_usergroups_for_team": {"queue": "slack"},
|
||||
"apps.slack.tasks.post_or_update_log_report_message_task": {"queue": "slack"},
|
||||
"apps.slack.tasks.post_slack_rate_limit_message": {"queue": "slack"},
|
||||
"apps.slack.tasks.send_message_to_thread_if_bot_not_in_channel": {"queue": "slack"},
|
||||
"apps.slack.tasks.start_update_slack_user_group_for_schedules": {"queue": "slack"},
|
||||
"apps.slack.tasks.unpopulate_slack_user_identities": {"queue": "slack"},
|
||||
"apps.slack.tasks.update_incident_slack_message": {"queue": "slack"},
|
||||
"apps.slack.tasks.update_slack_user_group_for_schedules": {"queue": "slack"},
|
||||
"apps.slack.representatives.alert_group_representative.on_create_alert_slack_representative_async": {
|
||||
"queue": "slack"
|
||||
},
|
||||
"apps.slack.representatives.alert_group_representative.on_alert_group_action_triggered_async": {"queue": "slack"},
|
||||
"apps.slack.representatives.alert_group_representative.on_alert_group_update_log_report_async": {"queue": "slack"},
|
||||
# TELEGRAM
|
||||
"apps.telegram.tasks.edit_message": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.on_create_alert_telegram_representative_async": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.register_telegram_webhook": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.send_link_to_channel_message_or_fallback_to_full_alert_group": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.send_log_and_actions_message": {"queue": "telegram"},
|
||||
# WEBHOOK
|
||||
"apps.alerts.tasks.custom_button_result.custom_button_result": {"queue": "webhook"},
|
||||
"apps.alerts.tasks.custom_webhook_result.custom_webhook_result": {"queue": "webhook"},
|
||||
"apps.mobile_app.fcm_relay.fcm_relay_async": {"queue": "webhook"},
|
||||
"apps.webhooks.tasks.trigger_webhook.execute_webhook": {"queue": "webhook"},
|
||||
"apps.webhooks.tasks.trigger_webhook.send_webhook_event": {"queue": "webhook"},
|
||||
"apps.webhooks.tasks.alert_group_status.alert_group_created": {"queue": "webhook"},
|
||||
"apps.webhooks.tasks.alert_group_status.alert_group_status_change": {"queue": "webhook"},
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
import os
|
||||
|
||||
from . import celery_task_routes
|
||||
from .base import * # noqa: F401, F403
|
||||
|
||||
try:
|
||||
|
|
@ -44,118 +45,7 @@ SECURE_REDIRECT_EXEMPT = [
|
|||
]
|
||||
SECURE_HSTS_SECONDS = 360000
|
||||
|
||||
CELERY_TASK_ROUTES = {
|
||||
# DEFAULT
|
||||
"apps.alerts.tasks.create_contact_points_for_datasource.create_contact_points_for_datasource": {"queue": "default"},
|
||||
"apps.alerts.tasks.sync_grafana_alerting_contact_points.sync_grafana_alerting_contact_points": {"queue": "default"},
|
||||
"apps.alerts.tasks.sync_grafana_alerting_contact_points.disconnect_integration_from_alerting_contact_points": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.alerts.tasks.delete_alert_group.delete_alert_group": {"queue": "default"},
|
||||
"apps.alerts.tasks.send_alert_group_signal.send_alert_group_signal": {"queue": "default"},
|
||||
"apps.alerts.tasks.wipe.wipe": {"queue": "default"},
|
||||
"apps.heartbeat.tasks.integration_heartbeat_checkup": {"queue": "default"},
|
||||
"apps.heartbeat.tasks.process_heartbeat_task": {"queue": "default"},
|
||||
"apps.metrics_exporter.tasks.start_calculate_and_cache_metrics": {"queue": "default"},
|
||||
"apps.metrics_exporter.tasks.start_recalculation_for_new_metric": {"queue": "default"},
|
||||
"apps.metrics_exporter.tasks.save_organizations_ids_in_cache": {"queue": "default"},
|
||||
"apps.mobile_app.tasks.notify_shift_swap_requests": {"queue": "default"},
|
||||
"apps.mobile_app.tasks.notify_shift_swap_request": {"queue": "default"},
|
||||
"apps.mobile_app.tasks.notify_user_about_shift_swap_request": {"queue": "default"},
|
||||
"apps.schedules.tasks.refresh_ical_files.refresh_ical_file": {"queue": "default"},
|
||||
"apps.schedules.tasks.refresh_ical_files.start_refresh_ical_files": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.check_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.notify_about_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.start_check_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_gaps_in_schedule.start_notify_about_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.check_empty_shifts_in_schedule": {"queue": "default"},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.notify_about_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.start_check_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.notify_about_empty_shifts_in_schedule.start_notify_about_empty_shifts_in_schedule": {
|
||||
"queue": "default"
|
||||
},
|
||||
"apps.schedules.tasks.shift_swaps.slack_messages.create_shift_swap_request_message": {"queue": "default"},
|
||||
"apps.schedules.tasks.shift_swaps.slack_messages.update_shift_swap_request_message": {"queue": "default"},
|
||||
"apps.schedules.tasks.shift_swaps.slack_followups.send_shift_swap_request_slack_followups": {"queue": "default"},
|
||||
"apps.schedules.tasks.shift_swaps.slack_followups.send_shift_swap_request_slack_followup": {"queue": "default"},
|
||||
# CRITICAL
|
||||
"apps.alerts.tasks.acknowledge_reminder.acknowledge_reminder_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.acknowledge_reminder.unacknowledge_timeout_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.distribute_alert.distribute_alert": {"queue": "critical"},
|
||||
"apps.alerts.tasks.distribute_alert.send_alert_create_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.escalate_alert_group.escalate_alert_group": {"queue": "critical"},
|
||||
"apps.alerts.tasks.invite_user_to_join_incident.invite_user_to_join_incident": {"queue": "critical"},
|
||||
"apps.alerts.tasks.maintenance.check_maintenance_finished": {"queue": "critical"},
|
||||
"apps.alerts.tasks.maintenance.disable_maintenance": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_all.notify_all_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_group.notify_group_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_ical_schedule_shift.notify_ical_schedule_shift": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_user.notify_user_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_user.perform_notification": {"queue": "critical"},
|
||||
"apps.alerts.tasks.notify_user.send_user_notification_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.resolve_alert_group_by_source_if_needed.resolve_alert_group_by_source_if_needed": {
|
||||
"queue": "critical"
|
||||
},
|
||||
"apps.alerts.tasks.resolve_by_last_step.resolve_by_last_step_task": {"queue": "critical"},
|
||||
"apps.alerts.tasks.send_update_log_report_signal.send_update_log_report_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.send_update_resolution_note_signal.send_update_resolution_note_signal": {"queue": "critical"},
|
||||
"apps.alerts.tasks.unsilence.unsilence_task": {"queue": "critical"},
|
||||
"apps.base.tasks.process_failed_to_invoke_celery_tasks": {"queue": "critical"},
|
||||
"apps.base.tasks.process_failed_to_invoke_celery_tasks_batch": {"queue": "critical"},
|
||||
"apps.email.tasks.notify_user_async": {"queue": "critical"},
|
||||
"apps.integrations.tasks.create_alert": {"queue": "critical"},
|
||||
"apps.integrations.tasks.create_alertmanager_alerts": {"queue": "critical"},
|
||||
"apps.integrations.tasks.start_notify_about_integration_ratelimit": {"queue": "critical"},
|
||||
# TODO: remove apps.mobile_app.tasks.notify_user_async in a future release
|
||||
"apps.mobile_app.tasks.notify_user_async": {"queue": "critical"},
|
||||
"apps.mobile_app.tasks.notify_user_about_new_alert_group": {"queue": "critical"},
|
||||
"apps.schedules.tasks.drop_cached_ical.drop_cached_ical_for_custom_events_for_organization": {"queue": "critical"},
|
||||
"apps.schedules.tasks.drop_cached_ical.drop_cached_ical_task": {"queue": "critical"},
|
||||
# LONG
|
||||
"apps.alerts.tasks.alert_group_web_title_cache.update_web_title_cache_for_alert_receive_channel": {"queue": "long"},
|
||||
"apps.alerts.tasks.alert_group_web_title_cache.update_web_title_cache": {"queue": "long"},
|
||||
"apps.alerts.tasks.check_escalation_finished.check_escalation_finished_task": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.cleanup_organization_async": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.start_cleanup_deleted_organizations": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.start_sync_organizations": {"queue": "long"},
|
||||
"apps.grafana_plugin.tasks.sync.sync_organization_async": {"queue": "long"},
|
||||
"apps.metrics_exporter.tasks.calculate_and_cache_metrics": {"queue": "long"},
|
||||
"apps.metrics_exporter.tasks.calculate_and_cache_user_was_notified_metric": {"queue": "long"},
|
||||
# SLACK
|
||||
"apps.integrations.tasks.notify_about_integration_ratelimit_in_slack": {"queue": "slack"},
|
||||
"apps.slack.helpers.alert_group_representative.on_alert_group_action_triggered_async": {"queue": "slack"},
|
||||
"apps.slack.helpers.alert_group_representative.on_alert_group_update_log_report_async": {"queue": "slack"},
|
||||
"apps.slack.helpers.alert_group_representative.on_create_alert_slack_representative_async": {"queue": "slack"},
|
||||
"apps.slack.tasks.check_slack_message_exists_before_post_message_to_thread": {"queue": "slack"},
|
||||
"apps.slack.tasks.clean_slack_integration_leftovers": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_channels": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_channels_for_team": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_user_identities": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_usergroups": {"queue": "slack"},
|
||||
"apps.slack.tasks.populate_slack_usergroups_for_team": {"queue": "slack"},
|
||||
"apps.slack.tasks.post_or_update_log_report_message_task": {"queue": "slack"},
|
||||
"apps.slack.tasks.post_slack_rate_limit_message": {"queue": "slack"},
|
||||
"apps.slack.tasks.send_message_to_thread_if_bot_not_in_channel": {"queue": "slack"},
|
||||
"apps.slack.tasks.start_update_slack_user_group_for_schedules": {"queue": "slack"},
|
||||
"apps.slack.tasks.unpopulate_slack_user_identities": {"queue": "slack"},
|
||||
"apps.slack.tasks.update_incident_slack_message": {"queue": "slack"},
|
||||
"apps.slack.tasks.update_slack_user_group_for_schedules": {"queue": "slack"},
|
||||
# TELEGRAM
|
||||
"apps.telegram.tasks.edit_message": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.on_create_alert_telegram_representative_async": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.register_telegram_webhook": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.send_link_to_channel_message_or_fallback_to_full_alert_group": {"queue": "telegram"},
|
||||
"apps.telegram.tasks.send_log_and_actions_message": {"queue": "telegram"},
|
||||
# WEBHOOK
|
||||
"apps.alerts.tasks.custom_button_result.custom_button_result": {"queue": "webhook"},
|
||||
"apps.mobile_app.fcm_relay.fcm_relay_async": {"queue": "webhook"},
|
||||
}
|
||||
CELERY_TASK_ROUTES = celery_task_routes.CELERY_TASK_ROUTES
|
||||
|
||||
REST_FRAMEWORK = {
|
||||
"DEFAULT_PARSER_CLASSES": (
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue