Link to home
Start Free TrialLog in
Avatar of newbie27
newbie27Flag for United Kingdom of Great Britain and Northern Ireland

asked on

schedule asp script

Hello Experts,

I have an ASP script running on a web server that I would like to schedule to run at a particular time each day at 14:00 hrs.

This ASP script is currently kicked off manually through a web page submission on the server, but I need to be able to schedule the submission time for this script to operate each day automatically.

I have tried with the following code but this does not seems to be working...

test.asp
=======

<%
dim fs,fname
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fname=fs.CreateTextFile("c:\temp\test.txt",true)
fname.WriteLine("Hello World!")
fname.Close
set fname=nothing
set fs=nothing
%>


scheduler
========

Run As
=======
C:\Windows\System32\cmd.exe /c "C:\WINDOWS\system32\wscript.exe C:\VBScripts\RunIE.vbs http://www.website.co.uk/FS_USER/GIFTPACK/test.asp"

Start In
========
C:\PROGRA~1\INTERN~1


RunIE.vbs
=========

URL = WScript.Arguments.Item(0)
Set objIExplorer = CreateObject("internetexplorer.application")
objIExplorer.visible = False
objIExplorer.navigate URL

Please advise

Thanks
S
Avatar of SStory
SStory
Flag of United States of America image

Some host providers have an option for scheduling a page to be called at a given interval. One is DiscountASP.net.

This could be an option.  I can't ever imagine wanting to run IE on the Server end.
Here is a good article on it.  Method 3 seems the best:
http://www.asp101.com/articles/john/schedule/default.asp
Avatar of newbie27

ASKER

Hello SStory

Hello,

Thanks for the link. I have followed Method 3 as per your suggestion, However, it still not executing the asp page i wanted
to run as a test. I dont know If I am doing anything wrong here.

All I have done is created a .vbs file and tried to call above test.asp page but its not working...

I have tried both from the command prompt and from the scheduler .... please can you advise?

Thanks

RunBrowser.vbs
==============
 
Option Explicit
On Error Resume Next
 
' Declare our vars
Dim objWinHttp, strURL
 
' Request URL from 1st Command Line Argument.  This is
' a nice option so you can use the same file to
' schedule any number of differnet scripts just by
' changing the command line parameter.
strURL = WScript.Arguments(0)
 
' Could also hard code if you want:
'strURL = "http://localhost/ScheduleMe.asp"
 
' For more WinHTTP v5.0 info, including where to get
' the component, see our HTTP sample:
' http://www.asp101.com/samples/winhttp5.asp
Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5")
objWinHttp.Open "GET", strURL
objWinHttp.Send
 
' Get the Status and compare it to the expected 200
' which is the code for a successful HTTP request:
' http://www.asp101.com/resources/httpcodes.asp
If objWinHttp.Status <> 200 Then
	' If it's not 200 we throw an error... we'll
	' check for it and others later.
	Err.Raise 1, "HttpRequester", "Invalid HTTP Response Code"
End If
 
' Since in this example I could really care less about
' what's returned, I never even check it, but in
' general checking for some expected text or some sort
' of status result from the ASP script would be a good
' idea.  Use objWinHttp.ResponseText
 
Set objWinHttp = Nothing
 
If Err.Number <> 0 Then
	' Something has gone wrong... do whatever is
	' appropriate for your given situation... I'm
	' emailing someone:
	Dim objMessage
	Set objMessage = Server.CreateObject("CDO.Message")
	objMessage.To       = "admin@framedshare.co.uk"
	objMessage.From     = "admin@framedshare.co.uk"
	objMessage.Subject  = "An Error Has Occurred in a " _
		& "Scheduled Task"
	objMessage.TextBody = "Error #: " & Err.Number & vbCrLf _
		& "From: " & Err.Source & vbCrLf _
		& "Desc: " & Err.Description & vbCrLf _
		& "Time: " & Now()
							
	objMessage.Send
	Set objMessage = Nothing
End If

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of SStory
SStory
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
thanks this seems to have worked...

created a .bat file and called the page to execute by

wget url

i have noticed that after executing the page it was downloading it ...

so i have added del url command in the batch file...

this should be ok i guess?

thanks for the help