ECMD Proxy: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: Damit ein Ethersex nicht unter der Last der Anfragen in die Knie geht, wenn man die Messwerte von verschiedenen Browsern anzeigen will, kann man den ECMD Proxy einsetze...) |
(kein Unterschied)
|
Version vom 27. Juni 2009, 23:31 Uhr
Damit ein Ethersex nicht unter der Last der Anfragen in die Knie geht, wenn man die Messwerte von verschiedenen Browsern anzeigen will, kann man den ECMD Proxy einsetzen. Anwendungsbeispiele:
- Seite mit vielen dynamischen Inhalten, die von vielen Browsern offen gehalten wird
- Eine Seite soll Informationen von verschiedenen ethersexen anzeigen (ansonsten mit Ajax nicht möglich)
- Auf Ethersexe in einem NAT zugreifen
Der ECMD Proxy ist ein Python CGI Skript, dass die ECMD Befehle abfängt und bei Bedarf an die jeweiligen ethersexe (per ecmd/tcp) absetzt und die Ergebnisse Ergebnisse cached. Die Vorraussetzungen sind, dass das Skript als cgi-bin ausgefuehrt wird:
<VirtualHost 188.40.33.175:80 [2001:6f8:1209:f0:216:3eff:fe03:ff]:80> ServerName ethersex.dokucode.de DocumentRoot /home/stettberger/public_html/cgi-bin/ecmd/ ScriptAlias /ecmd /home/stettberger/public_html/cgi-bin/ecmd/ecmd Alias / /home/stettberger/public_html/cgi-bin/ecmd/ <Directory "/home/stettberger/public_html/cgi-bin/ecmd"> Options ExecCGI -MultiViews +SymLinksIfOwnerMatch </directory> </VirtualHost>
und es das Cache Directory (default ist .cache) muss von www-data geschrieben werden dürfen. Die Konfiguration des Proxys geschieht im Skript selbst:
cache_dir = '.cache' default_host = 'heizung' hosts = {'heizung': { 'addr': '192.168.100.13', 'port': 2701, 'kty get': 40, 'help' : 30, 'default_cache': 30}}
"'kty get': 40, setzt das Caching Intervall auf 40 Sekunden, Der default Value fuers caching auf dem ethersex `heizung' ist auf 30 Sekunden gesetzt.
Nun kann auf das ECMD des heizungs ethersex auf zwei Weisen angesprochen werden:
heizung kty get
oder, weil heizung das default ethersex ist:
kty get
Der Proxy findet sich bei ethersex unter contrib/ecmd_proxy