Voor ons bedrijf heb ik een online systeem gemaakt, waarin klantgegevens en contracten worden opgeslagen en onderhouden. Aan de hand van de contracten worden er omzetstaten gegenereerd.
Nu het systeem wat langer in gebruik is en door meerdere vestigingen worden gebruikt via Internet neemt het aanmaken van omzetstaten wat meer tijd in beslag.
Er wordt namelijk niet alleen naar de lopende contracten gekeken, maar ook naar de historie van omzetstaten. Daarbij zijn er ook nog ingewikkelde en samengestelde omzetstaten met veel berekeningen.
Al met al kost het meer tijd om een omzetstaat aan te maken en neemt dit dus ook geheugen in beslag op de server.
Om te voorkomen dat de server / database / systeem crasht wil ik hier een oplossing voor verzinnen.
Ik heb programmeertechnisch al het een en ander verbeterd (mysql query optimalisatie en php geheugengebruik geoptimaliseer binnen de verschillende scripts / functies en classes): kostte het eerst ca 5 a 8 seconden om een zeer ingewikkelde omzetstaat aan te maken, nu kost dat nog 1 a 2 seconden.
Een hele verbetering dus, maar ook dit zal op den duur wat langer gaan duren.
Daarom zit ik aan iets anders te denken:
Geef het systeem gewoon de tijd om een omzetstaat aan te maken (in een later stadium zullen er programmeer- en hardware technisch nog wel optimalisaties komen), maar zorg voor een soort mededeling dat er een omzetstaat wordt aangemaakt aan alle gebruikers, zodat men even kan wachten met het zelf aanmaken van een omzetstaat.
Ik zat te denken aan een RSS feed:
Dus op iedere PC een RSS reader draaien.
Maar nadeel is dan dat die RSS feed elke 5 seconden zou moeten controleren (of zelfs nog een kleiner interval) of er een staat wordt aangemaakt --> kost ook veel database connecties en performance.
Dus wellicht valt er ook iets te doen met een soort RSS feed, maar dan anders (wellicht is het er gewoon maar dat weet ik dan niet): als een omzetstaat aangemaakt wordt, moet er een berichtje gepushed worden naar de RSS reader.
Weet iemand wellicht hoe ik dit voor elkaar kan krijgen?
Of heeft iemand andere ideeën over hoe ik gegevens naar de gebruikers zou kunnen pushen.
Mooiste zou zelfs zijn als men een pop-up krijgt (en die automatisch verdwijnt als de staat gereed is), maar alleen als diegene het systeem open heeft of ingelogd is.
Het systeem werkt overigens op PHP 4 en MySQL 4.01
Nu het systeem wat langer in gebruik is en door meerdere vestigingen worden gebruikt via Internet neemt het aanmaken van omzetstaten wat meer tijd in beslag.
Er wordt namelijk niet alleen naar de lopende contracten gekeken, maar ook naar de historie van omzetstaten. Daarbij zijn er ook nog ingewikkelde en samengestelde omzetstaten met veel berekeningen.
Al met al kost het meer tijd om een omzetstaat aan te maken en neemt dit dus ook geheugen in beslag op de server.
Om te voorkomen dat de server / database / systeem crasht wil ik hier een oplossing voor verzinnen.
Ik heb programmeertechnisch al het een en ander verbeterd (mysql query optimalisatie en php geheugengebruik geoptimaliseer binnen de verschillende scripts / functies en classes): kostte het eerst ca 5 a 8 seconden om een zeer ingewikkelde omzetstaat aan te maken, nu kost dat nog 1 a 2 seconden.
Een hele verbetering dus, maar ook dit zal op den duur wat langer gaan duren.
Daarom zit ik aan iets anders te denken:
Geef het systeem gewoon de tijd om een omzetstaat aan te maken (in een later stadium zullen er programmeer- en hardware technisch nog wel optimalisaties komen), maar zorg voor een soort mededeling dat er een omzetstaat wordt aangemaakt aan alle gebruikers, zodat men even kan wachten met het zelf aanmaken van een omzetstaat.
Ik zat te denken aan een RSS feed:
Dus op iedere PC een RSS reader draaien.
Maar nadeel is dan dat die RSS feed elke 5 seconden zou moeten controleren (of zelfs nog een kleiner interval) of er een staat wordt aangemaakt --> kost ook veel database connecties en performance.
Dus wellicht valt er ook iets te doen met een soort RSS feed, maar dan anders (wellicht is het er gewoon maar dat weet ik dan niet): als een omzetstaat aangemaakt wordt, moet er een berichtje gepushed worden naar de RSS reader.
Weet iemand wellicht hoe ik dit voor elkaar kan krijgen?
Of heeft iemand andere ideeën over hoe ik gegevens naar de gebruikers zou kunnen pushen.
Mooiste zou zelfs zijn als men een pop-up krijgt (en die automatisch verdwijnt als de staat gereed is), maar alleen als diegene het systeem open heeft of ingelogd is.
Het systeem werkt overigens op PHP 4 en MySQL 4.01