Dennis: File Locking, Fehlerbehandlung

Beitrag lesen

Hi Tom,

Die aktuelle Zeit im UNIX Format ist $time_u (steht für unix);
                  in deinem Format   $time_s (steht für spezial);

Gut ändere ich bei mir ab.

Noch eine "Philosophie Frage", wie du sie nennst:

Sollen wir am Anfang des Sriptes einmal festlegen $time_u und $time_s gleich und das den entsprechenden Funktionen mitübermitteln oder sollen wir das in jeder in Frage kommenden Funktion einzeln festellen lassen?

Der Pfad zur Datei wird in $filename definiert;
Den würde ich dann auch $filepath nennen, wenn schon.
$filename ist dann nur der Basename des Files.

OK, ändere ich um und schicke dir die Hauptdatei (gerade geschickt) noch mal neu zu.

Unser Mega Array heißt $_file, in gepacketer Fomr $_file_packed;

Datensätze heißen $_record

Solange Sie noch nicht in $_file drinnen sind.

Das ist im Prinzip bei den relativ kurzen Funktionen auch noch nicht sooo tragisch, weil die Namensräume ja getrennt sind. Allerdings: früh übt sich und je einheitlicher wir das machen, desto leichter lässt sich das Gesamtkunstwerk später lesen, pflegen und dokumentieren.

Richtig, vor allem wollen ja vielleicht auch andere das Script haben, und da ist das für die verständlicher.

Noch eine Philosophiefrage:

;-)

Wen  ein Datensatz zum Update angemeldet wird, der noch nicht odr nicht mehr in der Datei enthalten war, welchen Meinstamp ['lastupdate'] soll der dann erhalten? Den, den er bereits hatte (aus der anderen Datei, aus der er stammt) oder einen frischen, da er ja eben angefasst wurde...

Ich finde, wenn ein Datensatz geändert wird, also upgedatet wird, muss das ['created'] immer gleich bleiben, in jedem Fall. Das ['lastupdate'] hingegen, mit den Millisekunden, sollte jedoch immer erneuert werden.

Das ist eigentlich hauptsächlich dann interessant, wenn er archiviert wird. Es könnte in der Arvhivdatei ja aufgrund eines Fehler schon ein Satz mit der ID drinstehen. Wenn man den nun nochmal aus der aktiven in die Archivdatei überstellt, und er behält beim Neueinfügen Seinen Timestamp, dann würde er, da er ja in beiden Files noch denselben hat, auch keinen fehler verursachen. Er würde eben nur seine eigenen Daten nochmals überschreiben. Wenn er zwischenzeitlich in der aktiven Datei angefasst wurde, würden die beiden Meinstamps nicht mehr übereinstimmen. dann würde er in der Fehlerliste von flat_update auftauchen.

Ein Datensatz, der von aktuell.dat -> archiv.dat geschoben wird, wird in keinster Weise geändert. Ein Datensatz kann _nicht_ von einer Archivs Datei wieder nach aktuell.dat gelangen!

Was du oben meintest, habe ich nicht ganz verstanden. Du meinst, wenn er während des Archivierungsvorganges von aktuell.dat aus geändert wird, oder wie?

Man müsste dann aber in allen Funktionen gewährleisten, dass während des Transportes von File A nach File B keine Manuipulation an den Daten stattfindet.

Exact.

Beim flat_insert() würden wir dann den aktuellen Timestamp nehmen.

Richtig.

Soll der Timestamp pro Datensatz ermittelt werden oder für die gesamte Liste einheitlich. Bei 1000 Stück dauert das schließlich einen kleinen Moment. Allerdings ist die Datei ja während des gesamten Vorganges logisch gesperrt. Ein multi-flat_insert() oder multi-flat_update() würde auch nicht solange dauern, wie meine Schleife bis 999 mit flat_update(), da ich immer nur einen einzigen Satz eingefügt habe, also die Datei auch 999 Mal geöffnet und geschlossen habe, das Array 999 Mal erstellt und wieder zerstört wurde etc.

Hm, soll es denn überhaupt die Möglichkeit geben, einen multi-flat_insert() zu machen? Ich meine, der Administrator kann doch immer nur eine neue News schreiben und da kommt es doch nicht zu einem mehrfachen insert!

Anders ist das bei Update, da soll es ja eine mehrfach Auswahl geben, um mehrere Datensätze auf einmal zu ändern, und dann auf Abspeichern zu klicken (hab ich dich da so richtig verstanden?).
Allerdings ist hier die Frage mit dem alle-den-gleichen-timestamp-oder-nicht auch schon von vorneherein eigentlich klar, da wir ja gesagt haben, ['created'] wird bei Update _nie_ geändert, und ['lastupdate'] wird ja nicht veröffentlicht. Also kann man da frei wählen, ob man für ['lastupdate'] mehrfach das gleiche Datum verwenden will. Kommt auf das Script drauf an, ob es mit mehreren gleichen Daten zurecht kommt.

Wenn flat_insert() und flat_select() fertig sind, probieren wir es einfach aus!

Ich möchte dich und auch mich *g* erinnern, dass wir die Funktionen flat_rec_insert() und flat_rec_select() genannt haben.

MfG, Dennis.

--
Signatur 1 von 3:
Meine Homepage: http://www.riehle-web.com
Tutorial: http://tutorial.riehle-web.com
0 163

Zeile in Textdatei löschen - aber wie

Dennis
  • php
  1. 0
    Harry
    1. 0
      Dennis
      1. 0
        Fabian Transchel
        1. 0
          Dennis
          1. 0
            Dennis
    2. 0
      Auge
  2. 0
    Tom
    1. 0
      Harry
      1. 0
        Tom
        1. 0
          Tom
        2. 0
          Harry
          1. 0
            Tom
            1. 0
              Harry
              1. 0
                Tom
                1. 0

                  Nervende Werbung

                  Dennis
                  • meinung
                  1. 0
                    Fabian Transchel
                    1. 0
                      Dennis
                  2. 0
                    Schuer
                    1. 0
                      Tom
                      1. 0
                        Schuer
                        1. 0
                          Tom
    2. 0
      Dennis
      1. 0
        Tom
        1. 0
          Dennis
          1. 0
            Tom
            1. 0
              Dennis
              1. 0
                Tom
                1. 0
                  Dennis
                  1. 0
                    Tom
                    1. 0
                      Dennis
                      1. 0
                        Tom
                        1. 0
                          Dennis
                          1. 0
                            Tom
                            1. 0
                              Dennis
                              1. 0
                                Tom
                                1. 0
                                  Dennis
                                  1. 0

                                    safe Mode

                                    Dennis
                                  2. 0
                                    Tom
                                    1. 0
                                      Dennis
                                      1. 0

                                        Geschafft!!! Aber nun weiter...

                                        Dennis
                                        1. 0
                                          Tom
                                          1. 0

                                            Verschieben von Daten - Archivierung

                                            Dennis
                                            1. 0
                                              Tom
                                              1. 0
                                                Dennis
                                                1. 0
                                                  Tom
                                                  1. 0
                                                    Tom
                                                    1. 0
                                                      Dennis
                                                      1. 0
                                                        Dennis
                                                        1. 0

                                                          News Script

                                                          Dennis
                                                          1. 0

                                                            File Locking, Fehlerbehandlung

                                                            Tom
                                                            1. 0
                                                              Dennis
                                                              1. 0
                                                                Tom
                                                                1. 0
                                                                  Dennis
                                                                  1. 0
                                                                    Tom
                                                                    1. 0
                                                                      Tom
                                                                      1. 0
                                                                        Dennis
                                                                        1. 0
                                                                          Dennis
                                                                          1. 0
                                                                            Tom
                                                                            1. 0
                                                                              Dennis
                                                                              1. 0
                                                                                Tom
                                                                                1. 0
                                                                                  Dennis
                                                                                  1. 0
                                                                                    Tom
                                                                                    1. 0
                                                                                      Dennis
                                                                                      1. 0
                                                                                        Tom
                                                                                        1. 0
                                                                                          Dennis
                                                                                          1. 0
                                                                                            Tom
                                                                                            1. 0
                                                                                              Dennis
                                                                                              1. 0
                                                                                                Tom
                                                                                                1. 0
                                                                                                  Dennis
                                                                                                  1. 0
                                                                                                    Tom
                                                                                                    1. 0
                                                                                                      Dennis
                                                                                                      1. 0
                                                                                                        Tom
                                                                                                        1. 0

                                                                                                          Haaaalol, sieht uns jemand?

                                                                                                          Tom
                                                                                                          • zu diesem forum
                                                                                                          1. 0

                                                                                                            Haaa *lol*, hier liest keiner mehr :-(

                                                                                                            Dennis
                                                                                                            1. 0

                                                                                                              HAAAALLOOO, SIEHT UNS KEINER? Wertebereich von Schlüsseln

                                                                                                              Tom
                                                                                                              • datenbank
                                                                                                              1. 0
                                                                                                                Vinzenz
                                                                                                              2. 0
                                                                                                                Vinzenz
                                                                                                              3. 0
                                                                                                                Vinzenz
                                                                                                                1. 0
                                                                                                                  Tom
                                                                                                        2. 0

                                                                                                          Functionen, Archivierung

                                                                                                          Dennis
                                                                                                          1. 0
                                                                                                            Tom
                                                                                                            1. 0
                                                                                                              Dennis
                                                                                                              1. 0

                                                                                                                Tom?

                                                                                                                Dennis
                                                                                                                1. 0
                                                                                                                  Tom
                                                                                                                  1. 0

                                                                                                                    Projekt Flatfiles: Datensicherung

                                                                                                                    Tom
                                                                                                                  2. 0
                                                                                                                    Tom
                                                                                                                    1. 0
                                                                                                                      Dennis
                                                                                                                      1. 0
                                                                                                                        Tom
                                                                                                                        1. 0

                                                                                                                          Schnelles und speicherplatzsparendes Speichern in Flatfiles

                                                                                                                          Dennis
                                                                                                                          1. 0

                                                                                                                            Speichern in Flatfiles

                                                                                                                            Tom
                                                                                                                            1. 0
                                                                                                                              Dennis
                                                                                                                              1. 0
                                                                                                                                Tom
                                                                                                                                1. 0
                                                                                                                                  Dennis
                                                                                                                                  1. 0

                                                                                                                                    Tom?

                                                                                                                                    Dennis
                                                                                                                                    1. 0
                                                                                                                                      Dennis
                                                                                                                                      1. 0
                                                                                                                                        Arx
                                                                                                                                        1. 0

                                                                                                                                          Flatfile Funktionen

                                                                                                                                          Dennis
                                                                                                                                          1. 0
                                                                                                                                            Arx
                                                                                                                                            1. 0
                                                                                                                                              Dennis
                                                                                                                                              1. 0
                                                                                                                                                Arx
                                                                                                                                                1. 0
                                                                                                                                                  Dennis
                                                                                                                                                  1. 0
                                                                                                                                                    Arx
                                                                                                                                                    1. 0
                                                                                                                                                      Dennis
                                                                                                                                                      1. 0

                                                                                                                                                        Signatur

                                                                                                                                                        Arx
                                                                                                                                                        • zu diesem forum
                                                                                                                                                        1. 0
                                                                                                                                                          Dennis
                                                                                                                                                          1. 0
                                                                                                                                                            Arx
                                                                                                                                                            1. 0
                                                                                                                                                              Dennis
                                                                                                                                                              1. 0
                                                                                                                                                                Dennis
                                                                                                                                                                1. 0
                                                                                                                                                                  Arx
                                                                                                                                                              2. 0
                                                                                                                                                                Arx
                                                                                                                                                                1. 0
                                                                                                                                                                  Dennis
                                                                                                                                                                  1. 0
                                                                                                                                                                    Arx
                                                                                                                                                                    1. 0
                                                                                                                                                                      Arx
                                                                                                                                                                      1. 0
                                                                                                                                                                        Dennis
                                                                                                                                                                        1. 0
                                                                                                                                                                          Arx
                                                                                                                                                                          1. 0
                                                                                                                                                                            Dennis
                                                                                                                                                                            1. 0
                                                                                                                                                                              Arx
                                                                                                                                                                              1. 0
                                                                                                                                                                                Dennis
                                                                                                                                                                                1. 0
                                                                                                                                                                                  Arx
                                                                                                                                                                                  1. 0
                                                                                                                                                                                    Dennis
                                                                                                                                                                                    1. 0
                                                                                                                                                                                      Arx
                                                                                                                                                                                      1. 0
                                                                                                                                                                                        Dennis
                                                                                                                                                                                        1. 0
                                                                                                                                                                                          Arx
                                                                                                                                                                                          1. 0
                                                                                                                                                                                            Dennis
                                                                                                                                                                                            1. 0
                                                                                                                                                                                              Tom
                                                                                                                                                                                              1. 0
                                                                                                                                                                                                Dennis
                                                                                                                                                                                                1. 0
                                                                                                                                                                                                  Tom
                                                                                                                                                                                        2. 0
                                                                                                                                                                                          Thomas J.S.
                                                                                                                                                                                          1. 0
                                                                                                                                                                                            Dennis
                                                                                                                                                                                            1. 0
                                                                                                                                                                                              Thomas J.S.
                                                                                                                                                                                              1. 0
                                                                                                                                                                                                Dennis
                                                                                                                                                                    2. 0
                                                                                                                                                                      Dennis
                                                                                                                                                                      1. 0
                                                                                                                                                                        Arx
                                                                                                                                                                        1. 0

                                                                                                                                                                          Dies ist ein Test

                                                                                                                                                                          Dennis
                                                                                                                                                                          1. 0
                                                                                                                                                                            Arx
                                                                                                                                                                            1. 0
                                                                                                                                                                              Dennis
                                                                                                                                                                              1. 0
                                                                                                                                                                                Jan R.
                                                                                                                                                                                1. 0
                                                                                                                                                                                  Dennis
                                                                                                                                          2. 0
                                                                                                                                            Tom
                                                                                                                                  2. 0
                                                                                                                                    Tom
                                                                                                                                    1. 0
                                                                                                                                      Dennis
                                                                                                                                      1. 0
                                                                                                                                        Dennis
                                                                                                                                        1. 0
                                                                                                                                          Dennis
                                                                                                                                          1. 0
                                                                                                                                            Dennis
                                                                                                                                            1. 0
                                                                                                                                              Tom
                                                                                                                                              1. 0
                                                                                                                                                Dennis
                                                                                                                                                1. 0
                                                                                                                                                  Tom
                                                                                        2. 0
                                                                                          Tom
                                                                                          1. 0

                                                                                            Speichern in Flatfiles: Performance

                                                                                            Tom
                                                                        2. 0
                                                                          Tom
                2. 0

                  WER DAS HIER LIEST BITTE MELDEN

                  HILFE
                  • zur info
    3. 0
      Arx
      1. 0
        Dennis
  3. 0

    HALLO - Problem Wertebereich von Schlüsseln

    Dennis
    • datenbank
    1. 0
      Thomas J.S.
      1. 0
        Dennis
        1. 0
          Thomas J.S.
          1. 0
            Dennis
        2. 0
          Andreas Korthaus
          1. 0
            Dennis
          2. 0
            Tom
            1. 0
              Andreas Korthaus