@shared_task
-def index_book(book_id, book_info=None, **kwargs):
+def index_book(book_id, **kwargs):
     try:
-        return Book.objects.get(id=book_id).search_index(book_info, **kwargs)
+        return Book.objects.get(id=book_id).search_index(**kwargs)
     except Exception as e:
         print("Exception during index: %s" % e)
         print_exc()
                 morefloats=settings.LIBRARIAN_PDF_MOREFLOATS,
                 base_url=absolute_url(gallery_url(wldoc.book_info.url.slug)),
                 **kwargs)
-            DefaultStorage().save(file_name, File(open(pdf.get_filename(), 'rb')))
+            with open(pdf.get_filename(), 'rb') as f:
+                DefaultStorage().save(file_name, File(f))
     finally:
         if waiter_id is not None:
             WaitedFile.objects.filter(pk=waiter_id).delete()