Napewno wielu z Was slyszalo o niezawodnosci funkcji flock(), tak samo jak i ja.
Niestety w praktyce sprawa wyglada zupelnie inaczej. Przy dosc duzym obciazeniu - rzedu 200 uzytkownikow na sekunde - funkcja ta poprostu odpusza a efektem tego jest usuwanie zawartosci blokowanych plikow lub ich czesciowa destrukcja. Oto kod ktory wywoluje ta sytuacje:
<? // ========================= // OPERACJE NA PLIKACH // ------------------------- function file_DeleteLine ($filename, $index) { { if ($index <> $w) } } function file_UpdateLine ($filename, $index, $line) { $file[$index] = $line . "rn"; { } } function file_GetLine ($filename, $index) { $line = -1; $line++; if ($line == $index) { return $buffer; } } } function file_LinesCount ($filename) { } else { $lines++; } return $lines - 1; } } else return 0; } function file_ReplaceLines ($filename, $from, $to) { $line = $file[$from]; $file[$from] = $file[$to]; $file[$to] = $line; { } } function file_InsertLine ($filename, $line) { } function file_InsertLineOnTop ($filename, $line) { } } $file = $line . "rn" . $old_file; } function file_MoveLineToTop ($filename, $index) { $line = file_GetLine($filename, $index); file_DeleteLine($filename, $index); file_InsertLineOnTop($filename, $line); } function file_SaveToFile ($filename, $something) { } function file_ReadFromFile ($filename) { return $file; } } function file_CreateFile ($filename) { } ?>
W zwiazku z tym mam pytanie.
Czy jest mozliwe napisanie funkcji ktora bedzie dawala calkowita pewnosc ze dane nie zostana utracone ?
Serdecznie dziekuje za odpowiedz i pozdrawiam.