From c1f5d80ff73df0640de288592b1a8aaeae249a85 Mon Sep 17 00:00:00 2001 From: Ajurna Date: Thu, 8 Apr 2021 16:43:39 +0100 Subject: [PATCH] added a lock on a critical path when regenerating pages. this should allow all images to load correctly --- comic/models.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/comic/models.py b/comic/models.py index 9b8fab9..8703278 100644 --- a/comic/models.py +++ b/comic/models.py @@ -119,6 +119,11 @@ class ComicBook(models.Model): ComicPage.objects.filter(Comic=self).delete() self.process_comic_pages(archive, self) page_obj = ComicPage.objects.get(Comic=self, index=page) + except ComicPage.DoesNotExist: + with db_mutex('comicpage'): + ComicPage.objects.filter(Comic=self).delete() + self.process_comic_pages(archive, self) + page_obj = ComicPage.objects.get(Comic=self, index=page) try: out = (archive.open(page_obj.page_file_name), page_obj.content_type) except rarfile.NoRarEntry: