Suggestions to run a program every specific period of time
There is a program which crawls and index documents stored in SharePoint. I need to run that every period of time. Some of the suggestions we had:
- Transfering the application into a windows service and schedualing it to run every period.
- Having a program that trigger this application every period of time.
Which of the two ways do you con开发者_如何学JAVAsider more efficient. Any other suggestions are pretty welcome. Thank you.
Use the Task Scheduler of Windows.
If your program is simple enough, I would just use Windows' Task Scheduler to run it periodically (your option #2). There is no need to write a windows service for this.
You can use the DOS "AT" command to schedule your task to run.
The AT command schedules commands and programs to run on a computer at
a specified time and date. The Schedule service must be running to use
the AT command.
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"
\\computername Specifies a remote computer. Commands are scheduled on the
local computer if this parameter is omitted.
id Is an identification number assigned to a scheduled
command.
/delete Cancels a scheduled command. If id is omitted, all the
scheduled commands on the computer are canceled.
/yes Used with cancel all jobs command when no further
confirmation is desired.
time Specifies the time when command is to run.
/interactive Allows the job to interact with the desktop of the user
who is logged on at the time the job runs.
/every:date[,...] Runs the command on each specified day(s) of the week or
month. If date is omitted, the current day of the month
is assumed.
/next:date[,...] Runs the specified command on the next occurrence of the
day (for example, next Thursday). If date is omitted, the
current day of the month is assumed.
"command" Is the Windows NT command, or batch program to be run.
精彩评论