After_Chido_Api/services/celery_service.py

25 lines
851 B
Python

from celery import Celery
from config.settings import settings
from config.database import get_db
from models.db import users_table # Assure-toi d'avoir une table `users_table` définie dans `db.py`
celery_app = Celery("tasks", broker=settings.celery_broker_url)
@celery_app.task
async def delete_user_data(user_id: int):
async with get_db() as db:
try:
await db.execute(
users_table.update()
.where(users_table.c.id == user_id)
.values(
full_name="xxxxx",
email="xxxxx",
phone="xxxxx",
is_deleted=True
)
)
await db.commit()
except Exception as e:
await db.rollback()
raise Exception(f"Could not delete user data: {str(e)}")