Vermutlich geht es hier um Remote Procedure Call (RPC). Bin mir aber nicht sicher, ob es evtl. nicht auch andere und passendere Technologien und Konzepte zur Interprozesskommunikation gibt, um meinen konkreten Anwendungsfall zu lösen. Daher wäre ich dankbar, für ein paar eingeworfenen Schlagwörter - aber natürlich gerne auch konkretere Lösungsvorschläge.
Wichtig wären mir möglichst als Standard etablierte Methoden - d.h. Python eigenen Pakete, oder Pakete die im Debian repository sind oder Potential haben da reinzukommen. Neben Linux, muss das auch unter Windows laufen können.
Meine Anwendung ist ein Feedreader/-aggregator. Neue Feeds (RSS/Atom) werden per URL hinzugefügt - das derzeit innerhalb der Anwendung per Texteingabefeld geschieht.
Nun möchte ich die Möglichkeit schaffen, dass eine weitere (von mir unabhängige) Anwendung (z.B. ein Browser bzw. ein Browser-AddOn) eine URL (also ein String) an die laufende Anwendung übergeben kann. Alternativ sollte die Anwendung vorher gestartet werden, falls sie gerade nicht läuft.
Zu RPC in Python kam mir bei einer Kurzsuche multiprocessing.connection und xmlrpc vor die Augen. Extra ein Server laufen lassen? Erscheint mir auf den ersten Blick overhead für einen simplen String - zumal diese String-Übergabe nur relativ selten geschieht.
Was ist mit Kommunikation über Dateien? Unter Linux kann gibt es doch so einen Event-Mechanismus für s Dateisystem. Wenn eine Datei geändert wird, kann man sich dazu einen Event geben lassen. So muss man nicht alle paar Millisekunden die Datei auf Änderungen selbst überprüfen. Gibt es sowas einen Mechanismus auch unter Windows? Welche Schlagworte brauche ich hier für die Paketsuche?
Python & RPC: URL-string an laufende Python-Anwendung übergeben
Python & RPC: URL-string an laufende Python-Anwendung übergeben
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
- king-crash
- Beiträge: 741
- Registriert: 08.08.2006 12:07:56
- Lizenz eigener Beiträge: MIT Lizenz
Re: Python & RPC: URL-string an laufende Python-Anwendung übergeben
Ich würde ein einfaches Socket empfehlen. Gerade hinsichtlich der kompatibilität zu einem Browser-Addon wird das das praktikabelste sein.
Re: Python & RPC: URL-string an laufende Python-Anwendung übergeben
oder eine REST API per mini webserver, kann man dann auch schnell von lokal auf global erweitern (wenn man es denn braucht)
als server kann man da zB python3-bottle oder python3-flask verwenden. Als client python3-requests
als server kann man da zB python3-bottle oder python3-flask verwenden. Als client python3-requests