lpcmanager

Parents 1b048e9bada5
Children db004cb7d60e
SVGHMI: starts browser with arguments that limits memory consumtion so that it doesn't freeze repeatedly after some time.
  • +5 -2
    LPCSVGHMI.py
  • --- a/LPCSVGHMI.py Mon Dec 07 11:19:15 2020 +0100
    +++ b/LPCSVGHMI.py Mon Dec 07 11:21:19 2020 +0100
    @@ -1,14 +1,17 @@
    from svghmi.svghmi import SVGHMI, SVGHMILibrary
    +browser_commandline = 'qt_webenginewidgets_minimal --js-flags="--max_old_space_size=16 --gc_interval=100 --optimize_for_size" --single-process --no-sandbox http://127.0.0.1:{port}/{name}'
    +
    # set default values so that COG browser is managed by SVGHMI
    SVGHMI.XSD = """<?xml version="1.0" encoding="utf-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="SVGHMI">
    <xsd:complexType>
    - <xsd:attribute name="OnStart" type="xsd:string" use="optional" default="qt_webenginewidgets_minimal --no-sandbox http://127.0.0.1:{port}/{name}"/>
    + <xsd:attribute name="OnStart" type="xsd:string" use="optional" default='"""+browser_commandline+"""'/>
    <xsd:attribute name="OnStop" type="xsd:string" use="optional" default="killall qt_webenginewidgets_minimal"/>
    - <xsd:attribute name="OnWatchdog" type="xsd:string" use="optional" default="sh -c 'killall qt_webenginewidgets_minimal; sleep 1; qt_webenginewidgets_minimal --no-sandbox http://127.0.0.1:{port}/{name}'"/>
    + <xsd:attribute name="OnWatchdog" type="xsd:string" use="optional" default="sh -c 'killall qt_webenginewidgets_minimal; sleep 1; """+\
    + browser_commandline.replace('"', '&quot;')+"""'"/>
    <xsd:attribute name="WatchdogInitial" type="xsd:integer" use="optional" default="30"/>
    <xsd:attribute name="WatchdogInterval" type="xsd:integer" use="optional" default="5"/>
    </xsd:complexType>