Как сгенерировать PDF с помощью pyppeteer в Django? Сигнал об ошибке работает только в главном потоке основного интерпретатора

#urls.py

path('pdf/',
         views.generate_pdf),

#views.py

from pyppeteer import launch
import os
import asyncio

async def main():
    browser = await launch()
    page = await browser.newPage()
    await page.goto("https://python.org")
    await page.waitFor(1000)
    await page.pdf({"path": "python.pdf"})
    await browser.close()


async def generate_pdf(request):
    print("Starting...")
    await main()
    print("PDF has been taken")
    return HttpResponse("PDF has been generated")

Я получил ошибку: сигнал работает только в основном потоке главного интерпретатора.

Он отлично работает при запуске в отдельном Python-файле, но не внутри Django.

Я получил ошибку времени выполнения Этот цикл событий уже запущен.

при использовании

async def generate_training_pdf(request):
    asyncio.get_event_loop().run_until_complete(main())

попробуйте это

async def lunch_browser(self):
    return await launch(
        # to avoid signal error
        autoClose= False,
        handleSIGINT=False,
        handleSIGTERM=False,
        handleSIGHUP=False,
        ignoreHTTPSErrors=True,
        defaultViewport={'width': 1020, 'height': 600}
    )
Вернуться на верх