Достигнуто максимальное количество клиентов 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

0 ответов

Другие вопросы по тегам