ECMD Proxy: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(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