Hartmut: Seitenzugriff, doch Perl schreibt gerade

Hallo allerseits!

Ich schreibe gerade an einem reg. Kleinanzeigenmarkt.
Im Hintergrund werkelt Perl und als Datenquelle csv-Dateien.
Immer dann, wenn jemand eine Anzeige aufgibt und auf den Submit-Button klickt, werden die csv-Dateien aktualisiert.
Dieser aktuelle Datenbestand wird aber nicht als HTML-Datei ausgegeben, sondern es werden txt-Dateien beschrieben, die ueber SSI in shtml-Seiten eingebunden sind.

Und nun meine Frage: Was passiert, wenn Perl gerade so eine Datei.txt schreibt, aber genau in diesem Moment ein Besucher die entsprechende shtml-Seite aufruft, worin diese txt-Datei eingebunden ist? Kommt eine Error-Meldung? Oder wird standartmaessig auf eine gecachte Datei zugegriffen? Oder wird, obwohl gerade ein Programm darauf schreibt, diese "halbe" Seite angezeigt?
In Perl gibts ja die Alternative "die", gibt es aehnliches auch fuer SSI? Aber dann nach dem Motto:
  ...   die  sub NOCHMAL(nach_2_Sekunden_nochmal_laden {...}
Oder hat jemand Vorschlaege?
Ich moechte auf jeden Fall Server-Fehlermeldungen bzw. nicht anzeigbare Seiten vermeiden.

Fuer jeden Rat moechte ich mich schon mal im voraus herzlich bedanken, weil morgen(heute) bin ich den ganzen Tag ausser Haus und komme erst abends wieder an die Kiste.

Bis denne
Hartmut

  1. Hallo Hartmut,

    es wird dann immer die halbfertige Textdatei angezeigt :)

    Schlimmer ist es, wenn ein Script zwei- oder mehrmals in eine Datei gleichzeitig schreibt. Dann kann es passieren, dass der ganze Datensatz zerstört ist. Diesem kann man mit flock vorbeugen :)

    Grüße,
    Florian Auer

    1. Richtig,
      flocke auf jeden Fall die Datei, dann wird die shtml-Seite eben so lange warten müssen, bis dein Skript fertig ist. (Es braucht doch sicher nicht länger als ein paar Sekunden pro Datei, oder?)

      siggi

      1. Richtig,
        flocke auf jeden Fall die Datei, dann wird die shtml-Seite eben so lange warten müssen, bis dein Skript fertig ist. (Es braucht doch sicher nicht länger als ein paar Sekunden pro Datei, oder?)

        siggi

        Hallo,
        habe das selbe Problem wie Hartmut.

        Bin aber Ahnungslos:
          Was bitte ist "die Datei flocken" und wie
          wird das realisiert ???

        Hari

        1. Was bitte ist "die Datei flocken" und wie
            wird das realisiert ???

          Hallo Hari!

          zu flock findest Du ca. 20 Pos. im Archiv. Hier zwei Beispiele:
          <../../sfarchiv/1999_2/t03203.htm#a15290>
          <../../sfarchiv/1999_1/t01858.htm>

          Viele Gruesse
          Hartmut

  2. Und nun meine Frage: Was passiert, wenn Perl gerade so eine Datei.txt schreibt, aber genau in diesem Moment ein Besucher die entsprechende shtml-Seite aufruft, worin diese txt-Datei eingebunden ist? Kommt eine Error-Meldung? Oder wird standartmaessig auf eine gecachte Datei zugegriffen? Oder wird, obwohl gerade ein Programm darauf schreibt, diese "halbe" Seite angezeigt?

    Ja.

    Du kannst die Gefahr, daß so etwas passiert, dadurch reduzieren,
    daß Du die neue Version der Datei nicht unter ihrem Zielnamen
    erstellst, sondern unter einem beliebigen anderen, und die
    fertig erstellte Datei anschließend umbenennst.