Достигнуто максимальное количество клиентов xserver PyQt4
У меня есть скрипт на Python. Скрипт делает скриншоты с веб-страниц. Я использую xvfb для его запуска. После примерно 240 итераций я получил сообщение:
Msgstr "Максимальное число клиентов достигло script.py: невозможно подключиться к X-серверу:99".
Я хотел бы иметь более 3 000 итераций.
Есть ли способ закрыть соединения xserver без остановки сценария, чтобы избежать ошибки?
Script.py имеет цикл for и использует код из:
webkit.py:
import sys
import time
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication, QImage, QPainter
from PyQt4.QtWebKit import QWebView
from PyQt4 import QtCore
class Screenshot(QWebView):
def __init__(self, width, height):
self.app = QApplication(sys.argv)
QWebView.__init__(self)
self._loaded = False
self.loadFinished.connect(self.load_finished)
self.width = int(width)
self.height = int(height)
self.app.deleteLater()
def capture(self, url, output_file):
self.load(QUrl(url))
self.wait_load()
frame = self.page().mainFrame()
self.page().setViewportSize(QtCore.QSize(self.width, self.height))
image = QImage(self.page().viewportSize(), QImage.Format_ARGB32)
painter = QPainter(image)
frame.render(painter)
painter.end()
image.save(output_file)
return output_file
def wait_load(self, delay=1):
while not self._loaded:
self.app.processEvents()
time.sleep(delay)
self._loaded = False
def load_finished(self):
self._loaded = True