mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +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) |