2010-04-06 2 views
0

en javascript comment envoyer une demande d'url à une heure partcular (par exemple tous les jours 17 h) .........en javascript comment envoyer une demande d'url à une heure partcular (par exemple tous les jours 17 h)

le jour même à 17 heures Je dois envoyer une demande (url) par exemple envoyer des courriels comment faire en script Java

+2

En supposant que vous exécutez JavaScript sur votre serveur: ajoutez un travail cron pour exécuter le script. Si vous utilisez votre JavaScript ailleurs, vous pouvez ajouter plus de détails à votre question :) –

+0

Javascript est principalement une langue de client semble qu'il y ait quelque chose de mal sur votre idée, peut-être que je n'ai pas compris. Pourriez-vous nous donner plus de détails? –

+0

D'accord - vous devez décrire votre application. @Claudio Javascript est définitivement utilisé en tant que langage côté serveur, mais il existe de nombreux frameworks différents, nous ne savons donc pas comment répondre. – Pointy

Répondre

0

Je vais hasarder une réponse de toute façon:

setTimeout(function(){ 
    //payload here 
}, 3600000*24); //one day. Launch at 5pm :) 

Ceci est assez simple et laid, vous voulez probablement ajouter plus de détails à la condition (minutes, etc.)

+1

Avec le bon timing, cela pourrait sauter toute l'heure, en cochant juste avant 17h00, puis en raison d'inexactitudes dans le système de chronométrage dans l'OS cocher juste après 18h00, ou il pourrait finir par cocher deux fois, juste après 17h00 et juste avant 18h00. –

+0

Je sais. laisse moi réparer ça :) – Victor

2

Vous ne voulez vraiment pas le faire de cette façon. Si vous avez accès au serveur, jetez un oeil à scheduled tasks (pour Windows) ou cron jobs (pour Linux).

Si vous n'avez absolument aucune autre alternative, la seule façon d'y parvenir serait de créer une boucle avec setInterval et de vérifier l'heure actuelle à chaque itération. Mais j'ai juste reculé d'écrire ça.

+1

'setInterval' pas' setTimeout' – Quentin

+0

Bon point. Actualisé. –

+0

ma principale exigence est d'envoyer des mails tous les jours exactement @ 17 heures .... @ 5 i il devrait déclencher ou appeler la fonction d'envoi de courrier ...... – dpaksp

2

Une autre solution:

var now = new Date(); 
// 17 o'clock today 
var target = new Date(now.getYear(), now.getMonth(), now.getDay(), 17); 

setTimeout(function(){ 
    // do stuff 
}, target.getTime() - now.getTime()); 

Mais concernant votre question, cette solution n'est pas pratique. Cela signifie que vous devez avoir le code JS pendant toute la journée (avec mon exemple, vous devez même recharger le code tous les jours). Un travail cron est vraiment une solution beaucoup plus appropriée. Il y a également free cron job services on the internet.

Questions connexes