Witajcie
Zastanawiam się nad projektem bazy danych o usterkach infrastruktury teleeinformatycznej. Sama baza danych będzie tylko solidną podstawą, gdyż zamierzam na jej podstawie stworzyć aplikację, która będzie "żyła".
Życie tej aplikacji rozumiem w sensie pewnej automatyzacji. To znaczy, że docelowo aplikacja ma co piątek o godzinie powiedzmy 18 generować Raport z ilości usterek w danym tygodniu. Przy czym docelowo taki raport powinien wykonywać się automatycznie (np. stworzyć plik PDF), bez udziału człowieka.
Do tego zamierzam dążyć, natomiast nie wiem, czy mi się to uda w logiczny sposób zorganizować
Nie ma problemu z samym raportem, ani zapytaniem, czy nie nastąpił piątek godzina 18, chodzi o optymalizację - W pseudo kodzie widziałbym to tak:
while (true) //aplikacja działa nieskończenie długo
{ date(godzina, dzień tygodnia)
if ((dzien == piątek) && (godzina ==18)) Generuj raport;
}
Teraz zastanówmy się ile razy w ciągu godziny ta pętla zapyta nasz serwer o aktualny czas....właśnie. Chciałbym ograniczyć to do niezbędnego minimum
while (true)
{ date(dzień tygodnia)
if (dzien == piątek)
{ while (date(godzina) !=18); <---- while nic nie zrobi do 18 - średnik
Generuj raport;
}
wymuś 24godzinne opóźnienie przed następnym uruchomieniem pętli;
}
Tylko nie wiem jak mogę wymusić na nim, aby zapytanie było opóźniane o 24 godziny, oraz aby w tym czasie nie dokonywał także zapytań kilkadziesiąt razy na sekundę, czy już minęły 24 godziny
Założenia są takie, że baza ma być w mysql, obsługa bazy (w tym generowanie raportów) przez php.
Jak Waszym zdaniem możnaby to zrealizować? Serwer linuxowy oczywiście, bo jakżeby inaczej