Fix: Konsolenfenster bei Subprozessen unter Windows unterdrückt (v1.6.3)
subprocess.CREATE_NO_WINDOW-Flag in transform.py und worker_pool_base.py gesetzt, damit beim Start aus einer PyInstaller-EXE keine Konsolenfenster für Saxon, FOP und diff-pdf erscheinen. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,10 +9,14 @@ Dieses Modul implementiert die Transformations-Pipeline:
|
||||
|
||||
import logging
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
from typing import Any, Optional, TYPE_CHECKING
|
||||
|
||||
# Verhindert Konsolenfenster bei Subprozessen in PyInstaller-EXE (Windows)
|
||||
_SUBPROCESS_FLAGS = subprocess.CREATE_NO_WINDOW if sys.platform == "win32" else 0
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from saxon_pool import SaxonWorkerPool
|
||||
from saxon_pool_s9api import SaxonWorkerPoolS9Api
|
||||
@@ -293,6 +297,7 @@ class TransformationJob:
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=120, # 2 Minuten Timeout
|
||||
creationflags=_SUBPROCESS_FLAGS,
|
||||
)
|
||||
|
||||
# Saxon Ausgaben loggen
|
||||
@@ -409,6 +414,7 @@ class TransformationJob:
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=180, # 3 Minuten Timeout
|
||||
creationflags=_SUBPROCESS_FLAGS,
|
||||
)
|
||||
|
||||
# Apache FOP Ausgaben loggen
|
||||
@@ -488,6 +494,7 @@ class TransformationJob:
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=60, # 1 Minute Timeout
|
||||
creationflags=_SUBPROCESS_FLAGS,
|
||||
)
|
||||
|
||||
if result.returncode == 0:
|
||||
@@ -523,6 +530,7 @@ class TransformationJob:
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=90, # 1.5 Minuten Timeout
|
||||
creationflags=_SUBPROCESS_FLAGS,
|
||||
)
|
||||
|
||||
if result_diff.returncode == 0 or self.diff_pdf.exists():
|
||||
|
||||
Reference in New Issue
Block a user