from django.core.management.base import BaseCommand from apps.demos.services import cleanup_expired_demo_environments class Command(BaseCommand): help = "Clean up expired isolated demo environments." def add_arguments(self, parser): parser.add_argument("--expired", action="store_true", help="Clean expired demo environments.") parser.add_argument("--batch-size", type=int, default=None, help="Maximum number of environments to clean.") def handle(self, *args, **options): if not options["expired"]: self.stderr.write("Only --expired cleanup is supported.") return cleaned = cleanup_expired_demo_environments(batch_size=options["batch_size"]) self.stdout.write(self.style.SUCCESS(f"Cleaned {cleaned} expired demo environment(s)."))