25 lines
851 B
Python
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)}") |