Niedawna zmiana czasu przypomniała mi pewien interesujący fenomen, na który natrafiliśmy pół roku temu. Fenomen jest w sumie trywialny, ale z takich, o których się zawczasu nie myśli - dopóki nie przyjdą ugryźć w plecy.

A więc, w niedzielę 30 marca jeden z naszych systemów przysłał nam list że nie mógł wykonać swojego zadania. Krótka analiza wykazała że pewien plik, który co noc trafia w odpowiednie miejsce akurat tej nocy nie trafił :/

Okazało się, ze skrypt tworzący ten plik odpalany jest z crona o drugiej w nocy. Dopiero po jakimś czasie ustaliliśmy że tej konkretnej nocy godziny drugiej w ogóle nie bylo...
Zegary docierają do 1:59 a potem zdradziecko przeskakują na 3:00... Analogicznie w drugą stronę zegary z 2:59 przeskakują z powrotem na 2:00 (i nasz plik tworzyłby się dwa razy).

Płynie stąd banalna - ale nie łatwa do przewidzenia - nauczka, cokolwiek robimy w nocy, róbmy to albo przed 2:00 albo po 2:59 :)

Dobrą praktyką, szczególnie w środowiskach współdzielonych przez wielu użytkowników, jest ustawianie zadań cronowych o nieparzystych, niepełnych minutach czyli np. o 4:17 czy 2:39. Dlaczego? Gdyż może się zdarzyć, że wielu użytkowników ustawi działanie swoich zadań np o godzinie 0:00 - wtedy nagle dramatycznie spada wydajność maszyny i co najgorsze niektóre zadania mogą korzystać z tych samych zasobów blokując sobie nawzajem do nich dostęp.

Autor admin, 30/10/2008, w Gadu-Gadu 2 Komentarze »