Skip to content

Commit

Permalink
fix: Stabilize and deprecate legacy alerts module (apache#12627)
Browse files Browse the repository at this point in the history
* Add deprecation notice to superset.tasks.schedules

* Reduce retries and schedule window for alerts
  • Loading branch information
robdiciuccio authored Jan 21, 2021
1 parent df8bb3b commit e4ae17d
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions superset/tasks/schedules.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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)

0 comments on commit e4ae17d

Please sign in to comment.