Process manager voor e-mail en PDF's

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ward van der Put
Moderator

Ward van der Put

22/02/2013 10:10:07
Quote Anchor link
Ik heb een zakelijk bestelsysteem dat een orderbevestiging met PDF-factuur e-mailt aan de klant en parallel een CSV-bestand met PDF-pakbon e-mailt naar de fulfilment. Een succesvolle verwerking van de order wordt aansluitend op een webpagina gemeld aan de klant.

Alleen... het genereren van een PDF duurt zo'n 8 tot 10 seconden, dus een slordige 15 tot 20 seconden voor de factuur plus de pakbon. Véél te lang om de gebruiker te laten wachten op de melding van een geslaagde bestelling.

Hebben jullie suggesties om die processen in goede banen te leiden, liefst zonder het verlies van de melding aan de klant?
 
PHP hulp

PHP hulp

24/11/2024 21:07:59
 
Erwin H

Erwin H

22/02/2013 10:18:22
Quote Anchor link
Zou je het via ajax calls kunnen doen? Na klik op een knop doe je een ajax call naar de server die het process in gang zet. Zodra het klaar is wordt er in de database (of session) een succes of foutmelding gezet. Deze call geeft geen return en de browser checkt dat dus verder ook niet. Wat de browser wel doet is elke seconde (of welk interval dan ook) de server pollen om te zien of het proces al klaar is. Zodra de succes of foutmelding is gevonden wordt deze getoond in de browser en stopt het interval.
Eventueel kan je er nog een maximale tijd aangeven, zodat als het te lang duurt er een algemene melding wordt gegeven.
 
Ward van der Put
Moderator

Ward van der Put

22/02/2013 10:45:18
Quote Anchor link
Ajax is inderdaad een goede oplossing voor de feedback, alleen moeten de twee processen voor facturering plus fulfilment sowieso altijd in gang worden gezet, ook zonder een Ajax-aanroep voor bijvoorbeeld gebruikers met JavaScript-smetvrees en ook als de client ondertussen al vertrokken is (door het sluiten van de browser, het wegvallen van de internetverbinding, noem maar op).

Dat betekent dus dat ik drie communicerende processen tegelijk aan het werk moet zetten: een voor de factuur, een voor de fulfilment en een voor de Ajax-webpagina.
 
Erwin H

Erwin H

22/02/2013 11:04:08
Quote Anchor link
Voor de mensen met javascript vrees zie ik niet een mooie oplossing om eerlijk te zijn. Voor de andere maakt het niet uit. Je eerste ajax call zet alles in gang, alleen die geeft zelf geen output terug. De call die je met het interval in gang zet geeft in feite de output terug. Mocht iemand dan zijn browser sluiten dan ziet hij niet (op dat moment) of het lukt, maar het verstoort het proces niet. De eerste call wordt gewoon afgehandeld.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.