From e4ae17def5a3c86e6ed2cf011452a5cd83b43ecd Mon Sep 17 00:00:00 2001 From: Rob DiCiuccio Date: Thu, 21 Jan 2021 09:51:53 -0800 Subject: [PATCH] fix: Stabilize and deprecate legacy alerts module (#12627) * Add deprecation notice to superset.tasks.schedules * Reduce retries and schedule window for alerts --- superset/tasks/schedules.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/superset/tasks/schedules.py b/superset/tasks/schedules.py index 62e0841930..c6e8e96df7 100644 --- a/superset/tasks/schedules.py +++ b/superset/tasks/schedules.py @@ -14,8 +14,11 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. - -"""Utility functions used across Superset""" +""" +DEPRECATION NOTICE: this module is deprecated as of v1.0.0. +It will be removed in future versions of Superset. Please +migrate to the new scheduler: `superset.tasks.scheduler`. +""" import logging import time @@ -535,11 +538,10 @@ def schedule_email_report( @celery_app.task( name="alerts.run_query", bind=True, - soft_time_limit=config["EMAIL_ASYNC_TIME_LIMIT_SEC"], # TODO: find cause of https://github.com/apache/superset/issues/10530 # and remove retry autoretry_for=(NoSuchColumnError, ResourceClosedError,), - retry_kwargs={"max_retries": 5}, + retry_kwargs={"max_retries": 1}, retry_backoff=True, ) def schedule_alert_query( @@ -844,8 +846,8 @@ def schedule_alerts() -> None: resolution = 0 now = datetime.utcnow() start_at = now - timedelta( - seconds=3600 - ) # process any missed tasks in the past hour + seconds=300 + ) # process any missed tasks in the past few minutes stop_at = now + timedelta(seconds=1) with session_scope(nullpool=True) as session: schedule_window(ScheduleType.alert, start_at, stop_at, resolution, session)