J'écris toujours des messages dans une table "EventLog". Lors du traitement de grandes quantités de données, je gère les données par blocs et j'écris des mises à jour de statut dans EventLog après chaque bloc.
Lorsque je veux vérifier la progression du long processus, je demande simplement la table EventLog.
Exemple de sortie:
-------------------
- Ma grande mise à jour -
-------------------
Commencé: 2011-05-03 10:00:00
Enregistrements à traiter: 1 000 000
Morceaux: 200
--- Morceau 1 ---
Tentative de mise à jour de MyTable
Enregistrements mis à jour: 5000
Dossiers restants: 995 000
Débit: 4210 enregistrements par seconde
--- Morceau 2--
Tentative de mise à jour de MyTable
Enregistrements mis à jour: 5000
Nombre de documents restants: 990 000
Débit: 3555 enregistrements par seconde
--- Morceau 3--
etc.
J'ai également des colonnes dans la table EventLog pour suivre quand le message a été écrit, quel processus a écrit le message, etc. Désolé de ne pas inclure cette information dans mon exemple.