Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting up a scheduled task in .Net

I've read a few posts here on StackOverflow about task scheduling, but I'm not sure that I get it right. I'm coding (in VB.Net) a backup application, that I'd like to add as a scheduled task (in fact, I'd just like to let the user decide to run it every day at, for example, 3 AM).

I've read posts suggesting to use a windows service for this, but it sounds a bit to much for something as simple as periodically running a task, isn't it?

Could you please advise me on how to simply set a scheduled task in VB.Net? I'm trying to keep my code as lightweight as possible.

like image 504
Clément Avatar asked Feb 20 '10 08:02

Clément


2 Answers

The best thing is to not write a scheduler, but use the built-in Windows scheduler to run your code.

More info:

http://support.microsoft.com/kb/308569

Note: if you schedule a task to run under an account other than your own, the application may not have access to network drives or some other resources. In other words, there may be some security challenges to work through, particularly for something like a backup app.

If this is just a personal app for backup, my recommendation would be to use XCOPY from a batch file rather than re-inventing the wheel.

like image 71
richardtallent Avatar answered Oct 26 '22 07:10

richardtallent


As RichardTallent says, don't write your own; instead hook into the Windows scheduler. It's not too difficult.

We used the libraries and examples here and here. Easy to use. Kudos to Eduardo Morcillo and Eric Moreau for showing the way.

like image 23
hawbsl Avatar answered Oct 26 '22 06:10

hawbsl