![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 14.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie (IMG:style_emoticons/default/smile.gif)
Jak zwykle piszę z problemem. Otóż mój skrypt wykonuje pętle (while) i przy każdym wykonaniu zapisuje dane do bazy. Skrypt wykonuje się do momentu przekorczenia czasu wykonywania. Chodzi po prostu o to, by pętli wykonało się jak najwięcej, nie chcę ograniczać tego do konkretnej wartości, bo w zależności od danych raz potrafi przejść 5 pętli, a innym razem 30. No i sporo już myślałem nad tym, w jaki sposób ominąć zapisywanie danych co każdą pętlę (generuje to spore obciążenia). Pomsł mam taki, by dane przechowywać w tablicy i w odpowiednim momencie (przed zakończeniem czasu wykonywania) zapisać do bazy. Wymagałoby to porównywania czasu rozpoczęcia pierwszej pętli z obecnym i na przykład po upływie 50 sekund przerwać pętlę i zrobić zapis. Są jeszcze jakiś inne sposoby? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wykonywanie zapytań co kilka kroków jest o tyle zła, że niektóre dane nie zostaną zapisane. Na przykład ustawię zapisywanie co 3 pętle, wykona mi 10 pętli, wtedy tracę dane z wykonania ostatniej. A tego nie chcemy smile.gif Zauważ, że dzięki warunkowi || $i == $count - 1 zostaną zapisane wszystkie dane:
EDIT Choć wtedy trzeba troszkę zmodyfikować kod:
Co do Twojego pomysłu, to co będzie z danymi, które nie zostaną przetworzone? Wznowisz wykonywanie skryptu? Ten post edytował mortus 31.08.2011, 10:10:42 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 13:05 |