简体   繁体   中英

How to implement a nightly process in .NET?

I have a set of tasks that I would like to execute every night.

These tasks include, in order, querying a database, moving and then renaming some images and updating a database table. My first thought had been to create a SQL Server job and use xp_cmdshell to move the files but after a bit of research I decided against it.

What is the best way to implement this as a .NET application? Should I create a Windows service? A console application that is scheduled to run once per night? Some other cool way that I don't even know about?

I usually just do this as a scheduled console application. Maybe I'm boring...

The cool way you are looking for is Quartz.NET . It's basically cron jobs for .NET.

I usually do this sort of thing as a scheduled task. If it's a .Net/C# console app, don't write to Console.Out or Console.Error (the scheduled tasks run pretty much headless). Instead use log4net and configure an appender to write to a log file. You configure another appender to log errors to the windows event log as well.

Of course, the faster, easier way would be to write your job as perl script rather than as compiled code, and schedule that.

I have had a lot of success with using the task scheduler. It has a lot of customization that borders on intimidating. I would give that a shot.

I've only done this with a task scheduler that was running on the server that I was working with. I just set it up to run at a random time in between 11:30 and 12:30. Kelloti's idea is probably a lot more impressive.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM