Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to keep a process running on a remote windows server

I need to implement a background process that runs on a remote windows server 24/7. My development environment is C#/ASP.NET 3.5. The purpose of the process is to:

  • Send reminder e-mails to employees and customers at appropriate times (say 5:00PM on the day before a job is scheduled)
  • Query and save GPS coordinates of employees when they are supposed to be out on jobs so that I can later verify that their positions were where they were supposed to be.

If the process fails (which it probably will, especially when updates are added), I need for it to be restarted immediately (or within just a few minutes) as I would have very serious problems if this process failed to send a notification, log a GPS coordinate, or any of the other tasks its meant to perform.

like image 207
Chris Dutrow Avatar asked Dec 03 '22 08:12

Chris Dutrow


1 Answers

  1. Implement your process as a Windows service. For a straightforward example of how to code a Windows service this in .Net see http://www.developer.com/net/csharp/article.php/2173801 .

  2. To control what happens should the service fail configure this through the "Recovery" tab on your service in services.msc. (see image below)

  3. For higly critical operation you might look into setting up a server cluster for mitigating single server failure (see http://msdn.microsoft.com/en-us/library/ms952401.aspx ).

alt text
(source: microsoft.com)

like image 192
Peter Stuer Avatar answered Dec 04 '22 22:12

Peter Stuer