diff --git a/db/task_db.py b/db/task_db.py index 5396e91..6509fee 100644 --- a/db/task_db.py +++ b/db/task_db.py @@ -183,8 +183,17 @@ class TaskDBOperator(BaseDBOperator): Returns: 是否删除成功 """ - sql = "DELETE FROM t_push_tasks WHERE task_id = %s" - return self.execute_update(sql, (task_id,)) + try: + # 先删除任务相关的日志 + delete_logs_sql = "DELETE FROM t_push_task_logs WHERE task_id = %s" + self.execute_update(delete_logs_sql, (task_id,)) + + # 然后删除任务 + delete_task_sql = "DELETE FROM t_push_tasks WHERE task_id = %s" + return self.execute_update(delete_task_sql, (task_id,)) + except Exception as e: + logger.error(f"删除任务失败: {e}") + return False def get_scheduled_tasks(self) -> List[Dict]: """获取待执行的任务