Come emulare i lavori cron su un server Windows?

Sto eseguendo .NET su una finestra di Windows e mi piacerebbe avere una funzione eseguita ogni notte a mezzanotte. Naturalmente dal momento che HTTP senza stato e Windows non ha una funzione di tipo “cron job” (che io sappia), dovrò visitare il mio sito ogni sera a mezzanotte o semplicemente aspettare che un utente visiti il ​​sito per fare affidamento in corso di aggiornamento.

C’è un’alternativa a questo che posso creare dove qualcosa verrà eseguito automaticamente in un determinato momento?

Grazie

Se nessuna delle altre risposte funziona per te, ecco un’opzione:

Ci sono un sacco di servizi di monitoraggio server là fuori che faranno una chiamata http al tuo sito a intervalli regolari (ogni minuto se vuoi). È ansible ottenere intervalli di 5 minuti gratuitamente su alcuni di essi.

Crea una pagina protetta da password, che esegue la tua funzione (se non è stata ancora eseguita oggi) e indica quel servizio.

Almeno in questo modo non dovrai scrivere nulla di aggiuntivo, e puoi stare tranquillo sapendo che non si basa sulla tua macchina domestica.

Sono abbastanza sicuro che l’utilità di pianificazione di Windows può fare la maggior parte delle cose che cron può fare. Ma potrei mancare qualcosa.

Modifica : raggiunto in Impostazioni -> Pannello di controllo -> Attività pianificate

Jeff Attwood a un certo punto nel podcast ha menzionato un attacco sporco per usare il Callback di scadenza cache per simulare questo.

Inseriva un object in .Net’s Cache, con una scadenza impostata a 2 ore, e un callback per essere chiamato una volta scaduto l’object, e quello era il suo cron.

Penso che questo fosse l’articolo:
http://www.codeproject.com/KB/aspnet/ASPNETService.aspx?display=Print

Fa schifo se me lo chiedi, ma per una soluzione di hosting condiviso, non riesco a pensare a niente di molto meglio.

Inoltre, ci sono servizi cron esterni a cui assegni un URL e lo “ping” regolarmente, come: (questi non sono gratuiti)
http://webcron.org/
http://www.webbasedcron.com/

Ecco un punto di partenza per aggiungere / eliminare e gestire in modo programmatico le attività nell’Utilità di pianificazione.

http://www.codeproject.com/KB/system/taskscheduler.aspx

Se hai accesso alla riga di comando puoi provare il comando “at”, che è come un cron ultraleggero:

http://support.microsoft.com/kb/313565

puoi anche dare un’occhiata a Quartz. Net http://quartznet.sourceforge.net/ che è uno schedulatore

L’ equivalente di Windows di cron è At . Se si ha accesso alla macchina.

Utilizzare la class Timer per creare un timer che chiama periodicamente un metodo da eseguire.

Un timer statico può essere avviato nell’evento Application_Start nella class Global. Poiché il timer utilizza un intervallo anziché un tempo assoluto, è necessario calcolare l’intervallo di tempo fino a mezzanotte e impostare di conseguenza la proprietà Intervallo .

Sembra che GoDaddy abbia delle disposizioni per questo , ma c’è più di un modo per farlo: quando installi Drupal, devi configurare un cron job e ho scoperto che i membri del progetto hanno documentato questo passaggio. Vai su http://drupal.org/cron per maggiori informazioni e ricorda di leggere http://drupal.org/node/31506 per informazioni specifiche su Windows. Se tutto il resto fallisce, google per “web cron job” e usa un servizio commerciale “cron job”. Scegli attentamente, non farti derubare.

Anch’io sto affrontando lo stesso problema. Voglio eseguire ASP.NET con MSSQL su GoDaddy. Ma non hanno un compito di programma per l’hosting di Windows. Dopo aver letto il post, ho fatto il mio google e ho trovato questo programmatore gratuito di cron job web:

Ho appena provato e funziona perfettamente … beh quasi. Il lavoro scade tra 1 anno.

http://www.setcronjob.com/

Spero che sia d’aiuto.

Cercando una risposta alla stessa domanda, ho trovato questo post (quartz-net-with-asp-net) con le istruzioni di installazione per Quartz.NET (“Enterprise Job Scheduler per .NET Platform”, dal loro sito Web) anche dall’interno di un Applicazione ASP.NET.

Aggiunto qui principalmente per riferimento.

Perché non installare cygwin e usare lo stesso cron?

ecco una guida pdf su come configurarla:

http://csc.csudh.edu/kleyba/cygwin-cron.pdf