Pergunta

Eu preciso agendar várias páginas diferentes em vários locais diferentes a serem executados em determinados momentos, geralmente uma vez por noite. Existe algum software para fora lá para fazer isso? seria bom se ele chamou a página e, em seguida, gravou a resposta e se a página chamada foi executado com sucesso ou não. Eu estava usando Helm em uma caixa diferente e tinha um bom módulo Web Scheduler, mas Helm não é uma opção para esta máquina. Esta é uma caixa de janela Server 2008.

Foi útil?

Solução

Nós usamos tarefas padrão programados que exigem um arquivo de morcego que chama um arquivo VBS. Eu sei que não é a solução mais elegante que nunca, mas sempre funciona.

BAT:

webrun.vbs http://website.com/page.aspx

VBS:

dim URL, oArgs  

Set oArgs = WScript.Arguments  

    if oArgs.Count = 0 then  
    msgbox("Error: Must supply URL")  
    wscript.quit 1  
    end if  

URL = oArgs(0)  

 on error resume next  
Set objXML = CreateObject("MSXML2.ServerXMLHTTP")  

    if err then  
    msgbox("Error: " & err.description)  
    wscript.quit 1  
    end if  

' Call the remote machine the request  
    objXML.open "GET", URL, False  

    objXML.send()  

' return the response  
    'msgbox objXML.responSetext  

' clean up  
    Set objXML = Nothing  

O código no arquivo VBS é quase certamente tanto exagero e subscritas, mas nada-a-menos funcional.

Outras dicas

Como sobre wget.exe e o agendador de tarefas?

O código dado no exemplo superior tem alguns problemas com a tarefa ser ativo durante o carregamento do site. O site está carregando 2 minutos, mas a tarefa já é feito em 1 segundo, o que traz um problema quando você executá-lo a cada 5 minutos. Se o site carrega 10 minutos e a tarefa já é feito em 1 segundo ele wil executar novamente que, enquanto eu quero que esperar o tempo de carregamento do site.

Então, o que eu tenho feito é o seguinte (este script irá manter a tarefa ocupado enquanto o site é de carga):

dim URL, oArgs, objXML
Set oArgs = WScript.Arguments
URL = oArgs(0)

on error resume next

Set objXML = CreateObject("Microsoft.XMLDOM")
objXML.async = "false"
objXML.load(URL)
Set objXML = Nothing

Se não é um requisito para programá-los a partir da mesma caixa, ter um olhar para do Zoho Site24x7 .

Ele é inicialmente projetado para web sites do monitor, mas tem uma opção para gravar respostas esperadas e compará-los para que você possa usá-lo para o seu propósito com a segurança de um site externo. Não é gratuito no entanto, exceto para alguns urls.

Eles são outros prestadores semelhantes, mas eles parecia muito bom última vez que eu procurei na web sobre este tema.

Acabei usando este script e Agendador de Tarefas, simples e funciona muito bem:

Call LogEntry()
Sub LogEntry()

'Force the script to finish on an error.
On Error Resume Next

'Declare variables
Dim objRequest
Dim URLs
URLs = Wscript.Arguments(0)
Set objRequest = CreateObject("Microsoft.XMLHTTP")

'Open the HTTP request and pass the URL to the objRequest object
objRequest.open "POST", URLs, false

'Send the HTML Request
objRequest.Send

Set objRequest = Nothing
WScript.Quit

End Sub

Então eu apenas chamá-lo com o URL que eu quero correr como um argumento:

Semelhante (embora possivelmente mais poderosa) é netcat e sua porta janelas

FYI -. Wget é GNU licença padrão, então eu não tenho certeza que é utilizável para a maioria dos sistemas comerciais / proprietárias

Eu uso http://scheduler.codeeffects.com . Muito eficaz e confiável, não se queixa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top