This is an automated email from the ASF dual-hosted git repository.

villebro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new e98194cdd3 fix(beat): prune_query celery task args fix (#32511)
e98194cdd3 is described below

commit e98194cdd34f459b92b936f73a73c507433b90cc
Author: Usiel Riedl <[email protected]>
AuthorDate: Thu Mar 6 11:25:53 2025 +0800

    fix(beat): prune_query celery task args fix (#32511)
---
 superset/config.py          |  2 +-
 superset/tasks/scheduler.py | 17 +++++++++++++----
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/superset/config.py b/superset/config.py
index 44e91c956c..d7c451feb7 100644
--- a/superset/config.py
+++ b/superset/config.py
@@ -1038,7 +1038,7 @@ class CeleryConfig:  # pylint: 
disable=too-few-public-methods
         # "prune_query": {
         #     "task": "prune_query",
         #     "schedule": crontab(minute=0, hour=0, day_of_month=1),
-        #     "options": {"retention_period_days": 180},
+        #     "kwargs": {"retention_period_days": 180},
         # },
     }
 
diff --git a/superset/tasks/scheduler.py b/superset/tasks/scheduler.py
index ce963eff64..25158bd04f 100644
--- a/superset/tasks/scheduler.py
+++ b/superset/tasks/scheduler.py
@@ -16,6 +16,7 @@
 # under the License.
 import logging
 from datetime import datetime, timezone
+from typing import Optional
 
 from celery import Celery
 from celery.exceptions import SoftTimeLimitExceeded
@@ -123,13 +124,21 @@ def prune_log() -> None:
 
 
 @celery_app.task(name="prune_query")
-def prune_query() -> None:
+def prune_query(retention_period_days: Optional[int] = None) -> None:
     stats_logger: BaseStatsLogger = app.config["STATS_LOGGER"]
     stats_logger.incr("prune_query")
 
+    # TODO: Deprecated: Remove support for passing retention period via 
options in 6.0
+    if retention_period_days is None:
+        retention_period_days = prune_query.request.properties.get(
+            "retention_period_days"
+        )
+        logger.warning(
+            "Your `prune_query` beat schedule uses `options` to pass the 
retention "
+            "period, please use `kwargs` instead."
+        )
+
     try:
-        QueryPruneCommand(
-            prune_query.request.properties.get("retention_period_days")
-        ).run()
+        QueryPruneCommand(retention_period_days).run()
     except CommandException as ex:
         logger.exception("An error occurred while pruning queries: %s", ex)

Reply via email to