Skip to content

Eigene Prozesse für jede geöffnete Geschichte #243

Description

@SebastianSchmidt

Für jede zu öffnende Geschichte soll ein eigener Prozess gestartet werden, in dem das Backend für diese Geschichte ausgeführt wird. Pro geöffneter Geschicht existieren dann zwei Prozesse: Der Backend-Prozess und der Renderer-Prozess (für das Fenster). Der Backend- und der Renderer-Prozess kommunizieren per TCP. Zusätzlich existiert immer der Main-Prozess. Dieser ist für das Starten und Beenden der Backend- und Renderer-Prozesse zuständig.

Begründung

Aktuell wird das Backend im Main-Prozess ausgeführt. Allerdings führen Berechnungen, die den Main-Prozess blockieren, dazu, dass alle Renderer-Fenster ebenfalls blockiert werden. Wenn eine Geschichte viel CPU-Zeit im Main-Prozess in Anspruch nimmt, wird sowohl das Fenster dieser Geschichte, als auch die Fenster aller anderen Geschichten blockiert. Aus diesem Grund soll das Backend aus dem Main-Prozess in einen eigenen Prozess ausgelagert werden. Zusätzlich soll jede Geschichte ihren eigenen Backend-Prozess bekommen, damit Geschichten sich nicht gegenseitig blockieren.

Architektur

TODO

Aufgaben

TODO

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions