feat: enhance project management by canceling pending actions for archived and on_hold projects

This commit is contained in:
serversdwn
2026-02-19 18:57:59 +00:00
parent 65362bab21
commit 0f17841218
7 changed files with 85 additions and 8 deletions

View File

@@ -107,10 +107,19 @@ class SchedulerService:
try:
# Find pending actions that are due
now = datetime.utcnow()
# Only execute actions for active/completed projects (not on_hold, archived, or deleted)
active_project_ids = [
p.id for p in db.query(Project.id).filter(
Project.status.notin_(["on_hold", "archived", "deleted"])
).all()
]
pending_actions = db.query(ScheduledAction).filter(
and_(
ScheduledAction.execution_status == "pending",
ScheduledAction.scheduled_time <= now,
ScheduledAction.project_id.in_(active_project_ids),
)
).order_by(ScheduledAction.scheduled_time).all()