Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 06cb6b12

Von Moritz Bunkus vor mehr als 12 Jahren hinzugefügt

  • ID 06cb6b127be7185927c6a3b32d16295d55e162ea
  • Vorgänger 062940d9
  • Nachfolger b948bb61

HTML-Version der Dokumentation in UTF-8 encodieren

Unterschiede anzeigen:

doc/html/ch04s02.html
1 1
<html><head>
2
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3
   <title>4.2. Entwicklung unter FastCGI</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="next" href="ch04s03.html" title="4.3. SQL-Upgradedateien"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2. Entwicklung unter FastCGI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Zur?ck</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.2. Entwicklung unter FastCGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.fcgi"></a>4.2. Entwicklung unter FastCGI</h2></div></div></div><div class="sect2" title="4.2.1. Allgemeines"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.general"></a>4.2.1. Allgemeines</h3></div></div></div><p>Wenn ?nderungen in der Konfiguration von Lx-Office gemacht
4
        werden, muss der Webserver neu gestartet werden.</p><p>Bei der Entwicklung f?r FastCGI ist auf ein paar Fallstricke zu
5
        achten. Dadurch, dass das Programm in einer Endlosschleife l?uft,
6
        m?ssen folgende Aspekte beachtet werden.</p></div><div class="sect2" title="4.2.2. Programmende und Ausnahmen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.exiting"></a>4.2.2. Programmende und Ausnahmen</h3></div></div></div><p>Betrifft die Funktionen <code class="function">warn</code>,
2
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3
   <title>4.2. Entwicklung unter FastCGI</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="next" href="ch04s03.html" title="4.3. SQL-Upgradedateien"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2. Entwicklung unter FastCGI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.2. Entwicklung unter FastCGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.fcgi"></a>4.2. Entwicklung unter FastCGI</h2></div></div></div><div class="sect2" title="4.2.1. Allgemeines"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.general"></a>4.2.1. Allgemeines</h3></div></div></div><p>Wenn Änderungen in der Konfiguration von Lx-Office gemacht
4
        werden, muss der Webserver neu gestartet werden.</p><p>Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu
5
        achten. Dadurch, dass das Programm in einer Endlosschleife läuft,
6
        müssen folgende Aspekte beachtet werden.</p></div><div class="sect2" title="4.2.2. Programmende und Ausnahmen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.exiting"></a>4.2.2. Programmende und Ausnahmen</h3></div></div></div><p>Betrifft die Funktionen <code class="function">warn</code>,
7 7
        <code class="function">die</code>, <code class="function">exit</code>,
8 8
        <code class="function">carp</code> und <code class="function">confess</code>.</p><p>Fehler, die dass Programm normalerweise sofort beenden (fatale
9 9
        Fehler), werden mit dem FastCGI Dispatcher abgefangen, um das Programm
......
16 16
        <code class="function">warn</code> wird direkt nach STDERR, also in Server Log
17 17
        eine Nachricht schreiben (sofern in der Konfiguration nicht die
18 18
        Warnungen in das Lx-Office Log umgeleitet wurden), und
19
        <code class="function">exit</code> wird die Ausf?hrung beenden.</p><p>Prinzipiell ist es kein Beinbruch, wenn sich der Prozess
19
        <code class="function">exit</code> wird die Ausführung beenden.</p><p>Prinzipiell ist es kein Beinbruch, wenn sich der Prozess
20 20
        beendet, fcgi wird ihn sofort neu starten. Allerdings sollte das die
21 21
        Ausnahme sein. Quintessenz: Bitte kein <code class="function">exit</code>
22 22
        benutzen, alle anderen Exceptionmechanismen sind ok.</p></div><div class="sect2" title="4.2.3. Globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.globals"></a>4.2.3. Globale Variablen</h3></div></div></div><p>Um zu vermeiden, dass Informationen von einem Request in einen
23
        anderen gelangen, m?ssen alle globalen Variablen vor einem Request
23
        anderen gelangen, müssen alle globalen Variablen vor einem Request
24 24
        sauber initialisiert werden. Das ist besonders wichtig im
25 25
        <code class="varname">$::cgi</code> und <code class="varname">$::auth</code> Objekt, weil
26
        diese nicht gel?scht werden pro Instanz, sondern persistent gehalten
26
        diese nicht gelöscht werden pro Instanz, sondern persistent gehalten
27 27
        werden.</p><p>In <code class="classname">SL::Dispatcher</code> gibt es einen sauber
28 28
        abgetrennten Block, der alle kanonischen globalen Variablen listet und
29
        erkl?rt. Bitte keine anderen einf?hren ohne das sauber zu
29
        erklärt. Bitte keine anderen einführen ohne das sauber zu
30 30
        dokumentieren.</p><p>Datenbankverbindungen wird noch ein Guide verfasst werden, wie
31 31
        man sicher geht, dass man die richtige erwischt.</p></div><div class="sect2" title="4.2.4. Performance und Statistiken"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.performance"></a>4.2.4. Performance und Statistiken</h3></div></div></div><p>Die kritischen Pfade des Programms sind die Belegmasken, und
32 32
        unter diesen ganz besonders die Verkaufsrechnungsmaske. Ein Aufruf der
......
34 34
        4GB Arbeitsspeicher und Ubuntu 9.10 eine halbe Sekunde. In der 2.6.0
35 35
        sind es je nach Menge der definierten Variablen 1-2s. Ab der
36 36
        Moose/Rose::DB Version sind es 5-6s.</p><p>Mit FastCGI ist die neuste Version auf 0,26 Sekunden selbst in
37
        den kritischen Pfaden, unter 0,15 sonst.</p></div><div class="sect2" title="4.2.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.known-issues"></a>4.2.5. Bekannte Probleme</h3></div></div></div><div class="sect3" title="4.2.5.1. Encoding Awareness"><div class="titlepage"><div><div><h4 class="title"><a name="devel.fcgi.known-issues.encoding"></a>4.2.5.1. Encoding Awareness</h4></div></div></div><p>UTF-8 kodierte Installationen sind sehr anf?llig gegen
37
        den kritischen Pfaden, unter 0,15 sonst.</p></div><div class="sect2" title="4.2.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.known-issues"></a>4.2.5. Bekannte Probleme</h3></div></div></div><div class="sect3" title="4.2.5.1. Encoding Awareness"><div class="titlepage"><div><div><h4 class="title"><a name="devel.fcgi.known-issues.encoding"></a>4.2.5.1. Encoding Awareness</h4></div></div></div><p>UTF-8 kodierte Installationen sind sehr anfällig gegen
38 38
          fehlerhfate Encodings unter FCGI. latin9 Installationen behandeln
39 39
          falsch kodierte Zeichen eher unwissend, und geben sie einfach
40 40
          weiter. UTF-8 verweigert bei fehlerhaften Programmpfaden kurzerhand
41 41
          das Ausliefern. Es wird noch daran gearbeitet, alle Fehler da zu
42
          beseitigen.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Zur?ck</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 4. Entwicklerdokumentation&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.3. SQL-Upgradedateien</td></tr></table></div></body></html>
42
          beseitigen.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 4. Entwicklerdokumentation&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.3. SQL-Upgradedateien</td></tr></table></div></body></html>

Auch abrufbar als: Unified diff