mirror of
https://github.com/langgenius/dify.git
synced 2026-01-13 21:57:48 +08:00
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
from datetime import UTC, datetime
|
|
|
|
import click
|
|
|
|
import app
|
|
from configs import dify_config
|
|
from services.retention.workflow_run.clear_free_plan_expired_workflow_run_logs import WorkflowRunCleanup
|
|
|
|
|
|
@app.celery.task(queue="retention")
|
|
def clean_workflow_runs_task() -> None:
|
|
"""
|
|
Scheduled cleanup for workflow runs and related records (sandbox tenants only).
|
|
"""
|
|
click.echo(
|
|
click.style(
|
|
(
|
|
"Scheduled workflow run cleanup starting: "
|
|
f"cutoff={dify_config.SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS} days, "
|
|
f"batch={dify_config.SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE}"
|
|
),
|
|
fg="green",
|
|
)
|
|
)
|
|
|
|
start_time = datetime.now(UTC)
|
|
|
|
WorkflowRunCleanup(
|
|
days=dify_config.SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS,
|
|
batch_size=dify_config.SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE,
|
|
start_from=None,
|
|
end_before=None,
|
|
).run()
|
|
|
|
end_time = datetime.now(UTC)
|
|
elapsed = end_time - start_time
|
|
click.echo(
|
|
click.style(
|
|
f"Scheduled workflow run cleanup finished. start={start_time.isoformat()} "
|
|
f"end={end_time.isoformat()} duration={elapsed}",
|
|
fg="green",
|
|
)
|
|
)
|