Anfängerfrage Parallele Abarbeitung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
eXc
User
Beiträge: 1
Registriert: Donnerstag 10. Dezember 2020, 20:15

Guten Tag,

ich brauche mal Hilfe, weil ich mit meinem Wissen und den Informationen die mir zur Verfügung stehen nicht mehr weiter komme. Damit es nicht heißt "ließ es hier oder dort nach", ich habe meine Problematik in meinen Python Büchern nachgelesen, diverse Videos angesehen und Tutorials gelesen. Finde aber nicht die richtige Lösung die mich zufriedenstellt.

Ich verstehe es nicht, wie ich die Abarbeitung verschiedener paralleler Prozesse, die untereinander Daten austauschen müssen, realisieren kann. Hintergrund: ich möchte einen Bot programmieren der Aktionen durchführen kann, parallel dazu aber auch noch Nachrichten per Telegram verschicken und auf einer Webseite über einen eigenen Webserver darstellen kann. Alle Prozesse bzw. Programme separat bekomme ich mit den Informationen die die einschlägigen Seiten bieten umgesetzt. Das zusammenfassen der einzelnen Teile bereitet mir aber Kopfzerbrechen.
Bis jetzt habe ich versucht dies mit Threads und Threading umzusetzen, bekomme es damit aber nicht hin die Daten zwischen den Prozessen zu verteilen. Ich weiß aber auch nicht, ob das für so ein Vorhaben der richtige Ansatz ist.
Das die Prozesse, wo jeder für sich ja kontinuierlich läuft, irgendwie parallel abgearbeitet werden müssen ist mir selbstverständlich klar, nur der korrekte Ansatz fehlt mir. Aufgrund der bereits bestehenden Größe des Bots hat es mMn wenig Sinn den Code hier zu veröffentlichen, wer "das Elend" (in Bezug auf sauberen Programmierstil) dennoch sehen will, dem schicke ich diesen gerne zu.

Ich möchte definitiv keine Lösung, aber über Lösungsansätze wäre ich überaus dankbar, dann kann ich mich diesbezüglich weiter damit auseinandersetzen. Ein Prinzipbild sollte hier drunter zu sehen sein:

Bild
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@eXc: Diese Orange Box oben wo „Global variable” drin steht sollte da eher nicht stehen. Ansonsten: Threads, oder falls alle relevanten beteiligten Bibliotheken das unterstützen ``async``/``await``. Kommunikation zwischen den einzelnen nebenläufigen Aufgaben am einfachsten über Queues.

Und vielleicht möchtest Du ein paar von den Pfeilen beseitigen. Dass da so gut wie jeder mit jedem kommunizieren können soll ist doch recht komplex. Ist das wirklich notwendig?
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten