Zawsze piszę komunikaty do tabeli „EventLog”. Podczas przetwarzania dużych ilości danych zarządzam danymi w porcjach i zapisuję aktualizacje statusu do EventLog po każdym fragmencie.
Kiedy chcę sprawdzić postęp długotrwałego procesu, po prostu sprawdzam tabelę EventLog.
Przykład wyniku:
-------------------
- Moja duża aktualizacja -
-------------------
Rozpoczęty: 2011-05-03 10:00:00
Zapisy do przetworzenia: 1 000 000
Kawałki: 200
--- Część 1 ---
Próba aktualizacji MyTable
Zaktualizowano zapisy: 5000
Pozostałe dane: 995,000
Przepustowość: 4210 rekordów na sekundę
--- Część 2--
Próba aktualizacji MyTable
Zaktualizowano zapisy: 5000
Pozostałe rekordy: 990 000
Przepustowość: 3555 rekordów na sekundę
--- Część 3--
itp.
Mam również kolumny w tabeli EventLog, aby śledzić, kiedy wiadomość została napisana, jaki proces napisał wiadomość itp. Przepraszam, że nie uwzględniłem tych informacji w moim przykładzie.