mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 10:53:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			809 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			809 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import logging
 | |
| 
 | |
| from celery import shared_task  # type: ignore
 | |
| 
 | |
| from extensions.ext_database import db
 | |
| from models.account import Account
 | |
| from services.billing_service import BillingService
 | |
| from tasks.mail_account_deletion_task import send_deletion_success_task
 | |
| 
 | |
| logger = logging.getLogger(__name__)
 | |
| 
 | |
| 
 | |
| @shared_task(queue="dataset")
 | |
| def delete_account_task(account_id):
 | |
|     account = db.session.query(Account).filter(Account.id == account_id).first()
 | |
|     try:
 | |
|         BillingService.delete_account(account_id)
 | |
|     except Exception as e:
 | |
|         logger.exception(f"Failed to delete account {account_id} from billing service.")
 | |
|         raise
 | |
| 
 | |
|     if not account:
 | |
|         logger.error(f"Account {account_id} not found.")
 | |
|         return
 | |
|     # send success email
 | |
|     send_deletion_success_task.delay(account.email)
 | 
