2016-03-31 2 views
0

Ich habe eine Anwendung geschrieben in erlang, ich habe einen Supervisor für die Verteilung und jetzt nach der Analyse der configFile.cfg im Supervisor, ich möchte die Konfiguration an meine alte Anwendung übergeben. ich habe so etwas wie dies jetzt:Erlang, wie Parameter von Modul zu einem anderen

-module(supervisor_sup). 
start() -> 
    application_app:start(). 

, was ich will, ist:

-module(supervisor_sup). 

-record(config,{param1,param2}). 
%After parsing the configFile.cfg 
Conf = #config{param1 = Param1, 
      param2 = Param2}, 

start(Conf) -> 
    application_app:start(Conf). 
+0

bitte klären. Haben Sie einen Supervisor hinzugefügt, um mehr Prozesse zu erstellen, die ein Modul ausführen? – user425720

+0

die Anwendung starten einen Supervisor, der viele Arbeiter ausführen. Das Problem ist, dass wir jetzt mit Skripten * .sh viele Instanzen starten. Was ich tat, ist ein gen_server und ein super_supervisor tou viele Instanzen von erlang zu starten. aber meine Konfiguration geparst immer noch viele Male in jedem Fall, dass mein super_supervisor starten. (hoffe klarer) – 47hm4n3

Antwort

1

Es ist ungewöhnlich Anwendungen von Vorgesetzten oder Module unter Vorgesetzten zu starten. Der bevorzugte Weg besteht darin, die Anwendungsabhängigkeit zu verwenden, um sicherzustellen, dass alle Anwendungen in der richtigen Reihenfolge gestartet werden.

Wenn Sie jedoch möchten, dass eine Konfiguration aus mehreren verschiedenen Anwendungen verfügbar ist, ohne die Konfiguration mehr als einmal analysieren zu müssen, ist die gproc-Bibliothek das Richtige für Sie? https://github.com/uwiger/gproc

gproc kann verwendet werden, um die globale Konfiguration und vieles mehr effizient einzustellen. Auch in einer verteilten Umgebung.

+0

Vielen Dank für die schnelle Antwort, aber das Problem ist, dass die Anwendung bereits existiert und ich es für ein Projekt verteilen muss (ich bin ein Student), und es ist das erste Mal, dass ich Erlang benutze. Ich möchte nur die Konfiguration Parse von der alten Anwendung auf die neue zu verschieben. (Entschuldigung für mein Englisch). – 47hm4n3

+0

Die einzige Möglichkeit für Sie, die Konfiguration zu übergeben, ist die Startfunktion der Anwendung? In diesem Fall würde ich es wahrscheinlich von woanders starten und nicht von einem Vorgesetzten. Vorgesetzte sind in der Regel für das Starten und Überwachen von Prozessen innerhalb derselben Anwendung zuständig. Ich habe das Gefühl, dass deine Lehrer wollen, dass du hier etwas anderes machst. Sie sollten wahrscheinlich mit ihnen überprüfen. – dvaergiller