Как организовать многопоточность
У меня есть код, вылазит WARNING: QApplication was not created in main() thread, но код запускается, но 1 раз, когда начинает запускаться 2 раз сайт умирает, как мне организовать многопоточность, что бы он не падал?
from .forms import UserForm
from bs4 import BeautifulSoup
from django import forms
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEnginePage
import sys
import time
import re
import requests
regex = r"price_85d2b9c\s+\w+\D+(?P<price>\d+\s+\d+)"
class Client(QWebEnginePage):
def __init__(self,url):
global app
self.app = QApplication(sys.argv)
QWebEnginePage.__init__(self)
self.html = ""
self.loadFinished.connect(self.on_load_finished)
self.load(QUrl(url))
self.app.exec_()
def on_load_finished(self):
self.html = self.toHtml(self.Callable)
print("Load Finished")
def Callable(self,data):
self.html = data
self.app.quit()
def index(request):
submitbutton= request.POST.get("submit")
From=''
To=''
url=''
prices = []
form= UserForm(request.POST or None)
if form.is_valid():
From = (form.cleaned_data.get("From")).partition(", ")[2]
To = (form.cleaned_data.get("To")).partition(", ")[2]
context= ({'form': form, 'From': From,
'To': To, 'submitbutton': submitbutton,'prices': prices})
return render(request, "index3.html", context)
Я пытался использовать класс QThreadPool, но он работает неправильно. Что я могу сделать, чтобы код обрабатывал ссылки и не разбивался.