Skip to content

Commit e035eac

Browse files
committed
Use a better db query to accomplish this task
1 parent 9cb4ef6 commit e035eac

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

readthedocs/projects/tasks.py

+6-7
Original file line numberDiff line numberDiff line change
@@ -788,13 +788,12 @@ def remove_orphan_symlinks():
788788
"""
789789
for symlink in [PublicSymlink, PrivateSymlink]:
790790
for domain_path in [symlink.PROJECT_CNAME_ROOT, symlink.CNAME_ROOT]:
791-
for domain in os.listdir(domain_path):
792-
try:
793-
Domain.objects.get(domain=domain)
794-
except Domain.DoesNotExist:
795-
orphan_domain_path = os.path.join(domain_path, domain)
796-
log.info('Unlinking orphan CNAME: %s', orphan_domain_path)
797-
os.unlink(orphan_domain_path)
791+
valid_cnames = set(Domain.objects.all().values_list('domain', flat=True))
792+
orphan_cnames = set(os.listdir(domain_path)) - valid_cnames
793+
for cname in orphan_cnames:
794+
orphan_domain_path = os.path.join(domain_path, cname)
795+
log.info('Unlinking orphan CNAME: %s', orphan_domain_path)
796+
os.unlink(orphan_domain_path)
798797

799798

800799
@app.task(queue='web')

0 commit comments

Comments
 (0)