[.NET] batch jobs schedulen

Pagina: 1
Acties:

  • MrHighStone
  • Registratie: November 2001
  • Laatst online: 03-02-2023
Voor een vrij complexe ASP.NET applicatie zijn tevens een aantal jobs gedefinieerd, ontworpen en gerealiseerd, welke gescheduled dienen te worden en op gezette tijden uitgevoerd te worden.

In feite zijn de jobs redelijk straightforward (exports, imports, batch data manipulatie), maar niet zo eenvoudig dat deze mbv scripting of DTS konden worden gerealiseerd.
Hiervoor zijn dus verschillende c# projectjes gemaakt, welke nu nog met een testrunner (NUnit) gestart en getest worden.

Waar ik naar op zoek ben is naar enerzijds (1) de uiteindelijke vorm van de jobs, anderszijds (2) de manier van job scheduling.
Aangezien de ASP.NET applicatie gehost word bij een hosting provider, en de jobs bij voorkeur zo dicht mogelijk bij de database server gerund (is dit een nederlands woord :?) dienen te worden zoek ik een oplossing die eenvoudig te implementeren en te beheren is door de hosting provider.

Helaas was BizTalk geen optie, vandaar dit knappe staaltje maatwerk...;)

Een file op de A12 is nooit grappig...


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Zijn de projecten ook asp.net projecten, of zijn het console projecten?
In het laatste geval lijkt het me dat je vast ook wat met de task scheduler van windows kan doen. Voor elke gewenste actie een executable maken en deze op vastgestelde tijden uit laten voeren. Of denk ik nu te simpel?

Verwijderd

Wat dacht je van een web service maken bij de hosting provider, en die vanaf een machine bij je klant aanroepen vanuit een geschedule-de (slecht nederlands) applicatie of wellicht een service?

  • MrHighStone
  • Registratie: November 2001
  • Laatst online: 03-02-2023
Orphix: Nee, je denkt niet te simpel, dit zou ook mijn voorkeur zijn, maar (volgens mij) kun je hier geen 'condities' in opnemen: als proces1 is uitgevoerd dan proces2 uitvoeren, anders proces3 bijvoorbeeld.
Ook heeft de hosting provider aangegeven hier niet op zitten te wachten omdat deze (1) geen executables wil runnen ('die ze niet kennen') en (2) als ze dit zouden doen, dan willen ze gebruik maken van scripts ('die ze wel kennen') en daar is de functionaliteit net iets te ingewikkeld voor.

MrX: Hier had ik nog niet over nagedacht. Op het eerste gezicht lijkt me dit ook niet de gewenste oplossing, omdat ik dan (1) iets moet schedulen op een client en (2) de input/output bestanden op een ftp locatie moeten worden aan-/uitgeleverd en niet via een webservice interface. Maar zoals ik zei, ik moet er eens over nadenken.

Iemand nog heldere momenten op deze vrijdag?

Een file op de A12 is nooit grappig...


  • Rowwan
  • Registratie: November 2000
  • Laatst online: 19-05 21:42
Nee, je denkt niet te simpel, dit zou ook mijn voorkeur zijn, maar (volgens mij) kun je hier geen 'condities' in opnemen: als proces1 is uitgevoerd dan proces2 uitvoeren, anders proces3 bijvoorbeeld.
Klopt... maar je kunt wel een script/executale schedulen die deze condities checkt...

Verwijderd

misschien niet de mooiste oplossing, maar ASP.Net heeft ook een timer. Als je deze nu iedere 10 minuten laat afgaan (of minuut van mijn part) en die kijkt dan of je "gezette tijd" al bereikt is (of desnoods via de database), dan heb je toch een vorm van scheduling. Je tijden in een XMLtje of database knallen en gaan!

Check hierboor System.Timers.Timer namespace. zijn wel voorbeelden te vinden
Pagina: 1