Solved

Run code from windows service at a particular time

Posted on 2011-02-25
6
422 Views
Last Modified: 2012-05-11
Hi All

Is it possible to run code from inside a windows service at a particular time of day. I'm getting the time to run from a config file, and want to check for a file in a folder at that time.

I think I can do it by running the routine and storing the time, then use a timer to elapse until the next due time, but it would be so much easier to ask it to run at said time.

I cant use the scheduler.

Andy
0
Comment
Question by:Andy Green
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 29

Expert Comment

by:Paul Jackson
ID: 34979000
You can write your own windows service using vb.net

Have a look here :http://www.codeguru.com/vb/gen/vb_system/services/article.php/c4825
0
 
LVL 11

Expert Comment

by:srikanthreddyn143
ID: 34979059
Have a thread that is running for each minute or for each x time. This thread should call the function you have and have a check in your function if the time is the same as your configured time.
0
 
LVL 3

Author Comment

by:Andy Green
ID: 35004487
Still stuck with this, My searches suggest using Thread.sleep, but I cant find any suitable code examples.

Any more thoughts anyone.

Andy
0
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 
LVL 11

Accepted Solution

by:
srikanthreddyn143 earned 500 total points
ID: 35007767
Yes you need to use that. Your code should be something like this.

In service OnStart() function

Call RunServiceThread()


Public Sub RunServiceThread()

Dim ServiceThread As New thread(Address Of TestFunc)
ServiceThread.Start()

End Sub

Public Sub TestFunc()

 Do While True
                Thread.CurrentThread.Sleep(1000 * 60 * 2)  ' runs for every 2 minutes

If your condition then
Call your function.
End If

Loop
End Sub
0
 
LVL 11

Expert Comment

by:srikanthreddyn143
ID: 35007771
You need to handle errors for threading.
0
 
LVL 3

Author Closing Comment

by:Andy Green
ID: 35038305
Thanks

Andy
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
FInd Image Control Gridview 3 38
How to repeat the data 4 30
UDP Data Capture Thread Issue 7 31
Need help with another query 10 40
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question