Ik heb het script dat de logfile van de printer parsed weer es uit het stof gehaald om deze beter te laten werken. Nu zit ik met het volgende.
formaat van logfile:
oude situatie:
script parsed de logfile, vergelijkt de datum van elke entry in de logfile met de laatste datum uit de database en beslist zo waar hij was gebleven en waar de nieuwe entries beginnen. Dit is natuurlijk zwaar inefficient omdat elke entry geparsed wordt. De logfile telt inmiddels ruim 2000 regels en dit duurt veel te lang.
De logfile staat op de printserver, en is niet beschrijfbaar voor apache/php. Informatie die ik gelezen en geparsed heb en in de database gezet heb wil ik het liefste uit de logfile verwijderen (en evt als backup in een andere file zetten). Maarja, de file is dus niet beschrijfbaar en ook niet beschrijfbaar te maken.
Weet iemand een manier om dit netjes op te lossen?
Waar ik zelf aan gedacht heb:
- Verwerkte informatie in een andere file zetten en bij een nieuwe update kijken naar de verschillen tussen deze files. Verschil = nieuwe entries.
Nadeel lijkt me hiervan dat ook dit niet erg efficient is.
- Logfile op oude manier blijven parsen, maar dan onderaan de logfile beginnen. Op deze manier hoef je alleen maar te kijken tot waar je moet en dus wel efficienter dan hoe ik het eerst deed. Nadeel: ik vind het geen mooie oplossing.
formaat van logfile:
code:
1
2
3
4
5
| Flatprinter2 Gertjan 1225 [29/Jul/2003:15:31:50 +0200] 1 1 Flatprinter2 Gertjan 1225 [29/Jul/2003:15:31:50 +0200] 2 1 Flatprinter2 JayVee 1226 [31/Jul/2003:15:55:08 +0200] 1 1 Flatprinter2 JayVee 1226 [31/Jul/2003:15:55:09 +0200] 2 1 Flatprinter2 JayVee 1226 [31/Jul/2003:15:55:09 +0200] 3 1 |
oude situatie:
script parsed de logfile, vergelijkt de datum van elke entry in de logfile met de laatste datum uit de database en beslist zo waar hij was gebleven en waar de nieuwe entries beginnen. Dit is natuurlijk zwaar inefficient omdat elke entry geparsed wordt. De logfile telt inmiddels ruim 2000 regels en dit duurt veel te lang.
De logfile staat op de printserver, en is niet beschrijfbaar voor apache/php. Informatie die ik gelezen en geparsed heb en in de database gezet heb wil ik het liefste uit de logfile verwijderen (en evt als backup in een andere file zetten). Maarja, de file is dus niet beschrijfbaar en ook niet beschrijfbaar te maken.
Weet iemand een manier om dit netjes op te lossen?
Waar ik zelf aan gedacht heb:
- Verwerkte informatie in een andere file zetten en bij een nieuwe update kijken naar de verschillen tussen deze files. Verschil = nieuwe entries.
Nadeel lijkt me hiervan dat ook dit niet erg efficient is.
- Logfile op oude manier blijven parsen, maar dan onderaan de logfile beginnen. Op deze manier hoef je alleen maar te kijken tot waar je moet en dus wel efficienter dan hoe ik het eerst deed. Nadeel: ik vind het geen mooie oplossing.