godvicien
Messages postés36Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention 6 avril 2014
-
29 mars 2009 à 13:23
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
29 mars 2009 à 16:34
Salut à tous !
Je cherche a automatiser un événement ou une pause d'une semaine ou d'un mois pour certaines actions hebdomadaires.
Est ce possible avec un simple Thread.Sleep(6 04 8 00 000) ?
godvicien
Messages postés36Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention 6 avril 2014 29 mars 2009 à 16:26
Ca y est, voici mon algo:
Un procéssus avec une liste des taches enregistrées, et donc sérialisation des taches, qui parcours une grosse loop avec une pause d'une minute, qui regarde si une tache n'a pas franchit la date.
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 29 mars 2009 à 15:09
Salut,
Possible oui, mais à mon avis suicidaire.
Je doute que cette API soit prévue pour ce genre d'usage, et même sans celà on part du principe que le processus va survivre pendant 7 jours, ce qui est d'un optimisme très dangereux.
Ensuite est il vraiment nécessaire d'avoir un démarrage de l'itération suivante à la milliseconde près ?
Dans un cas de longue attente de ce genre, sans entrer dans l'utilisation de tâches planifiées, je verrais plutôt une détermination de la date/heure de prochaine exécution, avec gestion des éventuels changement d'heure si nécessaire (si le traitement doit s'exécuter toutes les 24*7 heures réelles, le passage à l'heure d'été/hiver doit être compensé).
Ensuite il suffit de régulièrement vérifier si un lancement de tâche est planifié pour bientôt, avec si nécessaire un test de plus en plus rapprochée au fur et à mesure de l'avancement vers l'heure de démarrage.
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 29 mars 2009 à 15:58
Ha là sous Linux je ne pourrais pas aider plus que ça, mais ça m'étonnerais fortement qu'il n'y ai pas moyen de lancer un processus, même s'il s'agit d'une application .NET sous Mono, de manière planifiée.
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 29 mars 2009 à 16:34
Ha, j'étais parti sur l'optique d'une tâche constituée d'un processus de travail dont le lancement est laissé aux bons soins d'un planificateur externe.
Bon courage !