Witam.
Mam pewien problem, któremu nie mogę w żaden sposób zaradzić.
Mam dosyć mocno rozbudowany system cachowania oparty na plikach txt.
Mój skrypt obsługuje pobór informacji z urządzeń pomiarowych, które odpowiednio konwertuje i zapisuje do indywidualnego pliku cache takiego urządzenia na serwerze.
Nadmienie, ze wszystkie urządzenia wysyłają dane co 3 sekundy.
Stworzyłem sobie stronę na której zrobiłem podgląd skryptu obsługi danych przychodzących. Strona działa asynchronicznie(ajax) przez co widzę "na żywo" co się dzieje w plikach - czyli jakie informacje dochodzą z urządzeń.
Wszystko działa ok, po za jedną rzeczą. Czasami gdy zamknę te okno podglądu plików to dla niektórych plików cache kasuje się całą zawartość. Problem ten występuje sporadycznie, czasami jest ok a czasami np treść paru plików ulega wykasowaniu
Skrypt obsługujący pliki napisany jest tak, że przy zapisie danych pliki są blokowane do czasu zakończenia wszystkich operacji. Pliki zapisywane są z praw " w " - czyli do nadpisu, przy czym dokładnie sprawdzam, czy nowe dane zostały zapisane i czy nie wystapił przy tym jakiś błąd.
Zastanawiam się, czy jest taka możliwość, że gdy zamykam okno z podglądem całego procesu to tym samym jakiś skrypt moze się do końca nie wykonać przez co plik zostaje pusty ?
Problem pojawia się tylko w tym przypadku, robiłem testy gdzie urzadzenia wysyłały przez kilka godzin dane nawet co 0.10 sekundy i wszystko było ok.
EDIT
trochę źle przedstawiłem temat:
urzadzenia pomiarowe sa obecnie "wirtualne". Strona z podglądem o której wspomniałem uruchamia ajaxa, który symuluje wirtualne urzadzenie i wysyła dane POSTE'm do skryptu php. Php zwraca html'a z ważnymi dla mnie informacjami i tak wlasnie wygląda ten "podgląd". Czyli podsumowując, to ajax uruchamia skrypt php który cachuje dane.
Jeśli wyłącze ta strone z ajaxem, to dla niekórych plików kasuje sie treść.