[asp]Requests in de achtergrond af laten handelen

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:34
Hoi,

ben bezig met een vrij groot project voor mijn doen :+

FF een simpele "guide":

D.m.v. een SQL query wordt er data uit een database gehaald.
- er wordt 1 pdf gegenereerd.
- deze moet teruggegeven worden aan de "viewer"
Maar nou moet er dus in de achtergrond, zonder dat de "viewer" er last van heeft, van die PDF 10 versies gemaakt worden die ieder een andere text in de pdf heeft staan.

Het genereren van de "blanco" pdf doe ik middels VIPP en een Acrobat Distiller server.

De 10 versies worden gemaakt door ActivePDF die middels een DB query de data erin "stitcht".

De eigenlijke vraag is dus: Hoe krijg ik het zo, dat het genereren van die 10 versies de "viewer" niet hindert? Ik wil dus eigenlijk ActivePDF in de achtergrond laten runnen.

Is dit mogelijk?

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Je kunt gebruik maken van de Windows Schedular service om met een VBScript eens in de x tijd de PDF's automatisch te laten genereren, zodat ze altijd (redelijk) up-to-date zijn, en klaar voor de download.

HTH :)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:34
Ah, maar het moet zeg maar on demand. De gebruiker moet die files genereren. Hij zal dan zeg maar constant de blanco versie moeten bekijken. En ik denk dat dat met een VBScript niet op te lossen is. Hoewel het wel een optie zou kunnen zijn (als echt laatste redmiddel!!!)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Lijkt me iets voor een (extented) stored procedure. Er vanuit gaande dat bij dit "grote" project een rdbms aanwezig is. ;) Deze wordt realtime getriggerd op de server en gaat aan de slag. Als eindresultaat plaatst deze de pdf in een directory. Zit je alleen nog met het probleem wanneer de webbrowser wordt ingelicht dat het proces klaar is. Je kunt een output parameter van de sp uitlezen, maar ik denk dat je time-out problemen gaat krijgen. En je client moet nog steeds wachten. Je zou een statuspagina.asp kunnen maken die polt of het klaar is voor download. De client kan gewoon verder surfen en af en toe kijken op die statuspagina.

Cheers
Underscore

  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 30-08 17:13

Greyfox

MSX rulez

Je kunt het in een component doen, daar een thread aanmaken en die de taak laten uitvoeren.
Dat wordt dan wel C++.

MSX 2 rulez more


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:34
C++ :+ kent ik nie.

Ik wil de webbrowser eigenlijk helemaal niet in laten lichten dat het klaar is. De client mag helemaal niet weten dat dat gemaakt wordt zeg maar.

zal ff een img eraan hangen....
Afbeeldingslocatie: http://teedee.dynu.com/got/hoe_achtergrond.jpg

Misschien dat dit mijn vraag wat duidelijker maakt! :)

Heart..pumps blood.Has nothing to do with emotion! Bored


  • oZy
  • Registratie: Juli 2001
  • Laatst online: 14:35

oZy

Waar loop je nu op vast dan? Het lijkt me allemaal redelijk simpel, maar misschien dat ik je niet helemaal volg..

Create die preview, return de preview naar de browser, create de andere bestanden terwijl de gebruiker naar de preview kijkt.

Probleem dat je hebt is zeker het feit dat óf er wordt een tijd naar een wit scherm gekeken terwijl het script loopt, óf je laat eerst de preview zien zoals ik hierboven zei, script voor andere files gaat lopen, en gebruiker sluit venster af terwijl script nog niet klaar is..

Lijkt me dan verstandiger soort van progress bar idee te maken, waar je eerst alle files genereert, als laatste de preview en die dan responsed. (en bij die progress bar zeg je dan gewoon iets als 'bezig met genereren preview', terwijl die dus eigenlijk stiekum wat anders aan het doen is ;))

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:34
Het is inderdaad dat de gebruiker lange tijd een witte pagina te zien krijgt.
Het genereren van die blanco pdf kost niet veel tijd. 5 a 6 sec. De rest wat langer (kleine 15 / 20 seconden!) En daar moet de gebruiker dus geen last van hebben. Hij/zij moet gewoon verder kunnen gaan met zijn/haar "thing".

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Ik zou een VB componentje schrijven dat dat genereren op zich neemt.. die hang je dan als Queued component in COM+ zodat je hem via een message queue kan aanroepen :

- ASP gooit message op de Q, en is daarmee klaar
- queue schopt componentje aan en gaat zwaar werk doen

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 11:34
das een goeie!... zal eens ff gaan frutsen

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1