Skip to content

Commit 38926c7

Browse files
committed
Use a better db query to accomplish this task
1 parent d84c1e7 commit 38926c7

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
@@ -820,13 +820,12 @@ def remove_orphan_symlinks():
820820
"""
821821
for symlink in [PublicSymlink, PrivateSymlink]:
822822
for domain_path in [symlink.PROJECT_CNAME_ROOT, symlink.CNAME_ROOT]:
823-
for domain in os.listdir(domain_path):
824-
try:
825-
Domain.objects.get(domain=domain)
826-
except Domain.DoesNotExist:
827-
orphan_domain_path = os.path.join(domain_path, domain)
828-
log.info('Unlinking orphan CNAME: %s', orphan_domain_path)
829-
os.unlink(orphan_domain_path)
823+
valid_cnames = set(Domain.objects.all().values_list('domain', flat=True))
824+
orphan_cnames = set(os.listdir(domain_path)) - valid_cnames
825+
for cname in orphan_cnames:
826+
orphan_domain_path = os.path.join(domain_path, cname)
827+
log.info('Unlinking orphan CNAME: %s', orphan_domain_path)
828+
os.unlink(orphan_domain_path)
830829

831830

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

0 commit comments

Comments
 (0)