?
Solved

Run code from windows service at a particular time

Posted on 2011-02-25
6
Medium Priority
?
428 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 11

Accepted Solution

by:
srikanthreddyn143 earned 2000 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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Suggested Courses

777 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