import asyncio from datetime import datetime from .Model import Subscription async def deactivate_expired_subscriptions(): while True: # Find active subscriptions that have expired expired_subscriptions = await Subscription.filter( active=True, expiration_time__lt=datetime.now() ) # Deactivate all expired subscriptions for subscription in expired_subscriptions: subscription.active = False await subscription.save() # Deactivate the user if he has no plans # Run this check every hour (or adjust as needed) await asyncio.sleep(60) # 1 hour