Toon posts:

[ASP/Alg] Lang lopende ASP's

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Weet iemand hier ik het volgende probleem kan oplossen binnen ASP.

Ik wil met asp het mogelijk maken om grote hoeveelheden bestanden te zippen om vervolgens aan te bieden aan mensen om te download.

Nu kan ik binnen ASP een Shell Sessie starten en dan kan ik vrolijk een CommandShell versie van Winzip gebruiken om mijn files in te pakken geen probleem.

Het probleem begint pas als dit alles te lang gaat duren aangezien de browser dan ongeduldig word en en je meld dat er iets fout gegaan zou zijn.

Nu kan je deze tijden wel veranderen maar meer dan 30min haal ik daar niet mee.

Is er een manier om binnen ASP deze opdracht af te vuren en op een later tijdstip te kijken hoever dit process is.

Hoop dat het een beetje duidelijk is

  • djlinsen
  • Registratie: September 2002
  • Laatst online: 14:57

djlinsen

Well suffer my pretty warriors

Hmm ben zelf nog maar net begonnen met asp .net dus ik ken de mogelijkheden nog lang niet, maar is er mischien de mogelijkheid om met threads te werken? Dat is eigenlijk enige wat ik zo kan bedenken.

Are you following me, Are you following me?


Verwijderd

Topicstarter
Ja een tweede sessie is een soort van tweede tread

maar ik ben ook nog niet met de .Net variant bezig van ASP

Ik werk nog met de oude ASP files dus niet se ASX files en zo

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 18-05 15:53

Jaspertje

Max & Milo.. lief

Ik weet weinig van shell dingen, maar is het mogelijk om bestanden toe te voegen aan een al bestaand zip bestand?

Dan zou je na x bestanden een nieuwe pagina kunnen openen (dezelfde pagina opnieuw..)
en dan verder gaan waar je gebleven was... Ik zou als ik jou was eens kijken of je niet een dll kan maken in vb/delphi/andere taal..

want het is denk ik niet de bedoeling van ASP om het met asp op te lossen op zo een grote schaal..... (dat laatste wordt problematisch als je niet zelf de server beheerd..)

Verwijderd

Topicstarter
ja je kan files toevoegen aan een zip
maar als een bestand al te lang duurt help dat nog niet veel

ik kan wel een DLL programeren maar dan zit ik met het zelfde probleem
hoe roep ik iets aan zonder dat ASP er braaf op wacht tot het klaar is

ik wil dus iets aan roepen waardoor een proces gestart word
en vervolgens gaat de ASP verder.

vervolgens doet een user weer een kijkje nemen op de pagina en de pagina vraagt aan dat proces hoe ver ben je en hij geeft zijn status terug.

dat is wat het zou moeten dien in teorie dan

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 18-05 15:53

Jaspertje

Max & Milo.. lief

Sowieso is een goede dll altijd sneller dan een asp bestand, dus dat zou wel degelijk helpen

ik weet niet of het mogelijk is om dat zippen te automatiseren.. elke dag een nieuwe? of is het voor elke klant uniek (dan alsnog elke dag voor elke klant??) daarmee bied je dan gewoon elke dag een nieuwe aan en zip je niet on the fly..

Verwijderd

Ik heb gebruik gemamaakt van een Xceed Zip component, ik weet niet of daar het brobleem niet bij optreed. bij waren het niet zo'n grote bestanden dus ging het redelijk snel.

Verwijderd

Topicstarter
bij dat component gebeurt het zelfde

En tuurlijk gaat het in een DLL sneller het is uiteindelijk gecompileert en dat is sneller dan interperteren zoals ASP

maar mensen kunnen zelf bepalen wat ze willen zippen compleet dynamisch dus

en valt dus niet vooraf te bepalen hoe ze het willen hebben

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

Wil je uberhaupt je ASP-proces er mee belasten? :? Kan je niet een queue maken, en hier door middel van taakplanner een en ander op loslaten?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ja ik wil het erg graag in ASP maken

en als iemand weet hoe je moet queen in ASP dan vertel het me

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 07:13
Als je start met zippen, maak je een soort van sessie aan, in een database of op een andere manier. Je slaat daarin, naast andere gegevens die je wilt onthouden, op: 'bezig met zippen, een ogenblik geduld alstublieft' en je krijgt natuurlijk een uniek nummertje terug voor die sessie.
De HTML-uitvoer is een statuspagina die dmv een meta refresh zichzelf ververst om de 10 seconden. In de URL voor het verversen geef je het nummertje van de sessie mee. In de body toon je de tekstuele status. De pagina ververst zichzelf, dus de browser roept steeds je status ASP-pagina opnieuw aan. Omdat je dan de sessie-id mee krijgt, kun je opzoeken wat de huidige status is. Het zippen draait ondertussen door en ASP geeft zo om de 10 seconden de status terug via de browser. Zodra het zippen klaar is, moet het zipproces de status updaten, dus dat zipproces moet ook in die sessietabel kunnen schrijven. Of je checkt of het bestand al bestaat in een bepaalde directory, of dat er een ander bestand bestaat.
Zo wordt dat over het algemeen gedaan, Annie doet het ook zo ;). Het is dus en een ASP pagina en een losdraaiend zipproces (exe) programmeren.

[ Voor 27% gewijzigd door Eegee op 02-12-2003 21:55 . Reden: iets meer ]


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Gedachtenspinsel:
Schrijf een job weg in een database / file / .... en registreer job ID. Redirect naar een pagina die de status van de job in de database controleert. Indien gereed geef dan een downloadlink naar de zip. Zo niet refresh na periode X.

Laat een service / applicatie periodiek de database controleren op openstaande jobs. Openstaande jobs krijgen status 'in behandeling' en worden gezipt. Wanneer gereed wijzig dan de status naar 'gereed'.
Periodiek zal je wel je zip "cache" moeten legen voor jobs die "verouderd" zijn.

edit:
te laat

[ Voor 7% gewijzigd door Annie op 02-12-2003 21:54 ]

Today's subliminal thought is:


  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 21:27
stomme vraag van mij misschien, maar als je aan 30 minuten nog niet genoeg hebt, hoe groot zijn die bestanden dan wel niet en hoeveel procent kan je ze wel niet zippen dat het blijkbaar nog loont om ze te zippen en dan mensen (meer dan) 30 minuten te laten wachten tot ze die zips kunnen downloaden.....?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Wat beter is om de bestanden gezipped op te slaan, dan kan je ze meteen serveren. Heb je ze ook nodig ongecompressed, dan kan je ze dubbel bewaren, of on the fly uitpakken. Compressen is met dit soort algoritmes altijd onwijs veel zwaarder dan uitpakken.

"Beauty is the ultimate defence against complexity." David Gelernter


Verwijderd

Topicstarter
het gaat niet alleen om het zippen van bestanden dit was maar een voorbeeld om uit te leggen wat mijn probleem is

ook als ik een Stored Procedure start vanuit ASP binnen SQL dan wacht de ASP file braaf tot de Stored Procedure klaar is met uitvoeren voordat hij verder gaat met het uitvoeren van de ASP.

Het gaat mij er om hoe ik een ASP pagina als process kan afstarten en de status hiervan kan opvragen.

ik heb namelijk stored procedures die men via ASP wil aan sturen
ik kan alleen deze SP niet wijzigen ik kan/mag ze alleen gebruiken.
en sommige hiervan hebben nu eenmaal behoorlijk tijd nodig om uitgevoert te worden langer dan toegestaan is door je brouwser die er op zit te wachten

Verwijderd

Topicstarter
is er dan helemaal niemand die hier iets van weet :(

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 18-05 15:53

Jaspertje

Max & Milo.. lief

Verwijderd schreef op 04 december 2003 @ 11:12:
is er dan helemaal niemand die hier iets van weet :(
Ik denk dat niemand hier denkt dat de oplossing binnen asp gezocht moet worden...

Een andere oplossing -->
Maak een VB/Delphi (or whatever) component. Hiermee zip je.

Sla alle documenten die een klant wilt zippen op in de db (helemaal of alleen een nummer/naam)..

Laat de server eens per x minuten (or whatever) kijken of er een nieuwe que is. Als dat zo is gaat ie aan de slag met zippen.. Als een bestand in het zipfiletje staat, verwijder je het uit de que (die je in een db (of xml of txt) opslaat) Natuurlijk hou je wel ergens het totaal vast.

Dan kan je makkelijk kijken --> o er zijn er nu 8 van de 50 niet gezipt.. dat is x procent..

heel simpel gedacht hoor!

-edit--
Denk niet dat je hier wat mee wilt :P
Misschien moet je eens gaan met je baas/werkgever dat je het niet alleen in ASP kan oplossen.. Ik weet niet wie er Stored Procedures bedenkt die 30 minuten duren. maar die zijn iig niet bedacht voor ASP... Of schrijf nieuwe of schrijf een component wat het uitvoert

[ Voor 17% gewijzigd door Jaspertje op 04-12-2003 11:41 ]

Pagina: 1