executer un code à intervalle regulier

Le
lirim
Salut,

Comment puis-je créer un script qui s exécute à intervalle regulier (par ex
tous les lundis et jeudis à 2h du matin)

Je ne peux pas utiliser le planificateur de taches de mon serveur car c'est
un serveur mutualisé.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérôme Noirfalise
Le #12188861
Bonjour,

Si tu es sur un serveur mutualisé et que tu ne peux ni utiliser le Task
Sheduler de windows et ni créer un service windows, une solution est de
lancer un thread dans l'Application_Start (Global.asax) de ton application
web.

Voici un lien vers un article intéressant expliquant comment implémenter une
telle solution:
http://www.angrycoder.com/article.aspx?cid=5&y 03&m=4&d

Amicalement,

Jérôme Noirfalise
---------------------
MCSD .NET
.NET Consultant @ AUSY Luxembourg
http://www.jnoirfal.be


"lirim" a écrit :

Salut,

Comment puis-je créer un script qui s exécute à intervalle regulier (par ex
tous les lundis et jeudis à 2h du matin)

Je ne peux pas utiliser le planificateur de taches de mon serveur car c'est
un serveur mutualisé.


lirim
Le #12188851
Eh ben un très très très très grand MERCI pour ce lien, il va bien m'aider

Cependant je me pose une question:
Si pendant un certain temps (10min par défaut je crois) personne ne va sur
mon site, l'application s'arrete et le thread va s'arreter aussi!!

est-ce qu'on peut changer ce temps dans le web.config et mettre genre 5h??

Merci beaucoup

"Jérôme Noirfalise" a écrit :

Bonjour,

Si tu es sur un serveur mutualisé et que tu ne peux ni utiliser le Task
Sheduler de windows et ni créer un service windows, une solution est de
lancer un thread dans l'Application_Start (Global.asax) de ton application
web.

Voici un lien vers un article intéressant expliquant comment implémenter une
telle solution:
http://www.angrycoder.com/article.aspx?cid=5&y 03&m=4&d

Amicalement,

Jérôme Noirfalise
---------------------
MCSD .NET
.NET Consultant @ AUSY Luxembourg
http://www.jnoirfal.be


"lirim" a écrit :

> Salut,
>
> Comment puis-je créer un script qui s exécute à intervalle regulier (par ex
> tous les lundis et jeudis à 2h du matin)
>
> Je ne peux pas utiliser le planificateur de taches de mon serveur car c'est
> un serveur mutualisé.


Patrice
Le #12188841
Bonjour,

Une application ASP.NET n'est pas vraiment prévue pour cela. Une autre
solution serait de faire une page présente sur le serveur et de la
solliciter :
- soit depuis un PC avec une tâche planifiée se connectant à la page
- soit depuis un service sur le web se chargeant d'appeler la page style
http://cron.hiwit.org/ ou www.webcron.org etc...

Selon la nature de l'opération, vérifier également que l'on est bien dans la
plage attendue etc...

---
Patrice

"lirim"
Eh ben un très très très très grand MERCI pour ce lien, il va bien m'aider

Cependant je me pose une question:
Si pendant un certain temps (10min par défaut je crois) personne ne va sur
mon site, l'application s'arrete et le thread va s'arreter aussi!!

est-ce qu'on peut changer ce temps dans le web.config et mettre genre 5h??

Merci beaucoup

"Jérôme Noirfalise" a écrit :

Bonjour,

Si tu es sur un serveur mutualisé et que tu ne peux ni utiliser le Task
Sheduler de windows et ni créer un service windows, une solution est de
lancer un thread dans l'Application_Start (Global.asax) de ton
application
web.

Voici un lien vers un article intéressant expliquant comment implémenter
une
telle solution:
http://www.angrycoder.com/article.aspx?cid=5&y 03&m=4&d

Amicalement,

Jérôme Noirfalise
---------------------
MCSD .NET
.NET Consultant @ AUSY Luxembourg
http://www.jnoirfal.be


"lirim" a écrit :

> Salut,
>
> Comment puis-je créer un script qui s exécute à intervalle regulier
> (par ex
> tous les lundis et jeudis à 2h du matin)
>
> Je ne peux pas utiliser le planificateur de taches de mon serveur car
> c'est
> un serveur mutualisé.




Jérôme Noirfalise
Le #12188821
Bonjour,

Je ne connaissais pas les services proposés par www.webcron.org et
cron.hiwit.org. C'est vrai que c'est une très bonne alternative qui, de plus,
ne dépend pas du cycle de vie de ton application ASP.NET.

Pour répondre à ta question concernant l'Application_Start, c'est appelé une
fois lors du démarrage ou au redémarrage de l'application.
Seul un redémarrage du service web (IIS), une modification des sources, de
certains fichiers ou du web.config impliquent un redémarrage de l'application.

C'est la session qui s'arrête après un certain temps d'inactivité (timeout
pouvant être défini dans le web.config) de la part d'un utilisateur sur ton
site. L'arrêt d'une session n'implique pas l'arrêt de l'application.

Amicalement,

Jérôme Noirfalise
---------------------
MCSD .NET
.NET Consultant @ AUSY Luxembourg
http://www.jnoirfal.be


"Patrice" a écrit :

Bonjour,

Une application ASP.NET n'est pas vraiment prévue pour cela. Une autre
solution serait de faire une page présente sur le serveur et de la
solliciter :
- soit depuis un PC avec une tâche planifiée se connectant à la page
- soit depuis un service sur le web se chargeant d'appeler la page style
http://cron.hiwit.org/ ou www.webcron.org etc...

Selon la nature de l'opération, vérifier également que l'on est bien dans la
plage attendue etc...

---
Patrice

"lirim"
> Eh ben un très très très très grand MERCI pour ce lien, il va bien m'aider
>
> Cependant je me pose une question:
> Si pendant un certain temps (10min par défaut je crois) personne ne va sur
> mon site, l'application s'arrete et le thread va s'arreter aussi!!
>
> est-ce qu'on peut changer ce temps dans le web.config et mettre genre 5h??
>
> Merci beaucoup
>
> "Jérôme Noirfalise" a écrit :
>
>> Bonjour,
>>
>> Si tu es sur un serveur mutualisé et que tu ne peux ni utiliser le Task
>> Sheduler de windows et ni créer un service windows, une solution est de
>> lancer un thread dans l'Application_Start (Global.asax) de ton
>> application
>> web.
>>
>> Voici un lien vers un article intéressant expliquant comment implémenter
>> une
>> telle solution:
>> http://www.angrycoder.com/article.aspx?cid=5&y 03&m=4&d
>>
>> Amicalement,
>>
>> Jérôme Noirfalise
>> ---------------------
>> MCSD .NET
>> .NET Consultant @ AUSY Luxembourg
>> http://www.jnoirfal.be
>>
>>
>> "lirim" a écrit :
>>
>> > Salut,
>> >
>> > Comment puis-je créer un script qui s exécute à intervalle regulier
>> > (par ex
>> > tous les lundis et jeudis à 2h du matin)
>> >
>> > Je ne peux pas utiliser le planificateur de taches de mon serveur car
>> > c'est
>> > un serveur mutualisé.





Publicité
Poster une réponse
Anonyme