Skip to content

Commit d0a5bd8

Browse files
Usielmichael-s-molina
authored andcommitted
fix(beat): prune_query celery task args fix (#32511)
(cherry picked from commit e98194c)
1 parent 266fb7f commit d0a5bd8

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

superset/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,7 @@ class CeleryConfig: # pylint: disable=too-few-public-methods
10341034
# "prune_query": {
10351035
# "task": "prune_query",
10361036
# "schedule": crontab(minute=0, hour=0, day_of_month=1),
1037-
# "options": {"retention_period_days": 180},
1037+
# "kwargs": {"retention_period_days": 180},
10381038
# },
10391039
}
10401040

superset/tasks/scheduler.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
# under the License.
1717
import logging
1818
from datetime import datetime, timezone
19+
from typing import Optional
1920

2021
from celery import Celery
2122
from celery.exceptions import SoftTimeLimitExceeded
@@ -123,13 +124,21 @@ def prune_log() -> None:
123124

124125

125126
@celery_app.task(name="prune_query")
126-
def prune_query() -> None:
127+
def prune_query(retention_period_days: Optional[int] = None) -> None:
127128
stats_logger: BaseStatsLogger = app.config["STATS_LOGGER"]
128129
stats_logger.incr("prune_query")
129130

131+
# TODO: Deprecated: Remove support for passing retention period via options in 6.0
132+
if retention_period_days is None:
133+
retention_period_days = prune_query.request.properties.get(
134+
"retention_period_days"
135+
)
136+
logger.warning(
137+
"Your `prune_query` beat schedule uses `options` to pass the retention "
138+
"period, please use `kwargs` instead."
139+
)
140+
130141
try:
131-
QueryPruneCommand(
132-
prune_query.request.properties.get("retention_period_days")
133-
).run()
142+
QueryPruneCommand(retention_period_days).run()
134143
except CommandException as ex:
135144
logger.exception("An error occurred while pruning queries: %s", ex)

0 commit comments

Comments
 (0)