J'aimerai savoir si vous avez des pistes pour créer une sorte de
planificateur de tache.
Par exemple une tache doit s'exécuter toutes les 5 minutes.
Puis une autre tache tout les jours à 12h etc...
Et meme une tout les vendredi à 14h
Plusieurs taches pourraient aussi s'exécuter en même tant.
Je pars d'une liste de taches (en BD ou dans un fichier XML) qui contient
leur nom, leur fréquence d'execution ou leur heure d'execution...
Mais comment faire en .NET pour gérer cela ? Boucler sur les taches, lancer
la tache dans un thread ? J'suis un peu perdu à vrai dire.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Alexis
Durand David a écrit :
J'aimerai savoir si vous avez des pistes pour créer une sorte de planificateur de tache.
Par exemple une tache doit s'exécuter toutes les 5 minutes. Puis une autre tache tout les jours à 12h etc... Et meme une tout les vendredi à 14h Plusieurs taches pourraient aussi s'exécuter en même tant.
Je pars d'une liste de taches (en BD ou dans un fichier XML) qui contient leur nom, leur fréquence d'execution ou leur heure d'execution...
Mais comment faire en .NET pour gérer cela ? Boucler sur les taches, lancer la tache dans un thread ? J'suis un peu perdu à vrai dire.
Tu crées un service qui s'exécutera en arrière-plan, ce service étant un programme que tu réveilleras de temps en temps (par exemple toutes les minutes) et qui contiendra une queue des tâches à exécuter. A chaque réveil de ton appli, tu exécuteras toutes les tâches de la queue dont le moment d'éxecution est antérieur ou égal à l'heure courante.
Pour exécuter tes tâches, je te conseille pour chacune d'elle de lancer un nouveau thread séparé.
Voilà, voilà.
-- Pierre ALEXIS Courriel : FAQ Visual Basic : http://faq.vb.free.fr
Durand David a écrit :
J'aimerai savoir si vous avez des pistes pour créer une sorte de
planificateur de tache.
Par exemple une tache doit s'exécuter toutes les 5 minutes.
Puis une autre tache tout les jours à 12h etc...
Et meme une tout les vendredi à 14h
Plusieurs taches pourraient aussi s'exécuter en même tant.
Je pars d'une liste de taches (en BD ou dans un fichier XML) qui contient
leur nom, leur fréquence d'execution ou leur heure d'execution...
Mais comment faire en .NET pour gérer cela ? Boucler sur les taches, lancer
la tache dans un thread ? J'suis un peu perdu à vrai dire.
Tu crées un service qui s'exécutera en arrière-plan, ce service étant un
programme que tu réveilleras de temps en temps (par exemple toutes les
minutes) et qui contiendra une queue des tâches à exécuter. A chaque
réveil de ton appli, tu exécuteras toutes les tâches de la queue dont le
moment d'éxecution est antérieur ou égal à l'heure courante.
Pour exécuter tes tâches, je te conseille pour chacune d'elle de lancer
un nouveau thread séparé.
J'aimerai savoir si vous avez des pistes pour créer une sorte de planificateur de tache.
Par exemple une tache doit s'exécuter toutes les 5 minutes. Puis une autre tache tout les jours à 12h etc... Et meme une tout les vendredi à 14h Plusieurs taches pourraient aussi s'exécuter en même tant.
Je pars d'une liste de taches (en BD ou dans un fichier XML) qui contient leur nom, leur fréquence d'execution ou leur heure d'execution...
Mais comment faire en .NET pour gérer cela ? Boucler sur les taches, lancer la tache dans un thread ? J'suis un peu perdu à vrai dire.
Tu crées un service qui s'exécutera en arrière-plan, ce service étant un programme que tu réveilleras de temps en temps (par exemple toutes les minutes) et qui contiendra une queue des tâches à exécuter. A chaque réveil de ton appli, tu exécuteras toutes les tâches de la queue dont le moment d'éxecution est antérieur ou égal à l'heure courante.
Pour exécuter tes tâches, je te conseille pour chacune d'elle de lancer un nouveau thread séparé.
Voilà, voilà.
-- Pierre ALEXIS Courriel : FAQ Visual Basic : http://faq.vb.free.fr
Zazar
Bonjour,
Tu crées un service qui s'exécutera en arrière-plan, ce service é tant un programme que tu réveilleras de temps en temps (par exemple toutes le s minutes)
Il me paraît plus pertinent de ne réveiller le service que lors de la première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de vérifier toutes les minutes s'il y a une tâche à effectuer si on co nnaît le moment où on la première tâche doit être effectuée.
-- Zazar
Bonjour,
Tu crées un service qui s'exécutera en arrière-plan, ce service é tant un
programme que tu réveilleras de temps en temps (par exemple toutes le s
minutes)
Il me paraît plus pertinent de ne réveiller le service que lors de la
première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de
vérifier toutes les minutes s'il y a une tâche à effectuer si on co nnaît
le moment où on la première tâche doit être effectuée.
Tu crées un service qui s'exécutera en arrière-plan, ce service é tant un programme que tu réveilleras de temps en temps (par exemple toutes le s minutes)
Il me paraît plus pertinent de ne réveiller le service que lors de la première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de vérifier toutes les minutes s'il y a une tâche à effectuer si on co nnaît le moment où on la première tâche doit être effectuée.
-- Zazar
Durand David
>Il me paraît plus pertinent de ne réveiller le service que lors de la première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de vérifier toutes les minutes s'il y a une tâche à effectuer si on connaît le moment où on la première tâche doit être effectuée.
Et comment faire ?
>Il me paraît plus pertinent de ne réveiller le service que lors de la
première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de
vérifier toutes les minutes s'il y a une tâche à effectuer si on connaît
le moment où on la première tâche doit être effectuée.
>Il me paraît plus pertinent de ne réveiller le service que lors de la première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de vérifier toutes les minutes s'il y a une tâche à effectuer si on connaît le moment où on la première tâche doit être effectuée.
Et comment faire ?
Zazar
Bonjour,
Il me paraît plus pertinent de ne réveiller le service que lors de la première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de vérifier toutes les minutes s'il y a une tâche à effectuer si on connaît le moment où on la première tâche doit être effectuée.
Et comment faire ?
Il vous suffit à chaque lancement de votre appli ou à chaque modification de la queue des tâches de calculer dans combien de temps aura lieu la tâche suivante et de mettre un timer sur ce temps. Mais sinon, vous pouvez aussi utiliser l'utilitaire AT fourni avec Windows qui fait ça trés bien.
-- Zazar
Bonjour,
Il me paraît plus pertinent de ne réveiller le service que lors de la
première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de
vérifier toutes les minutes s'il y a une tâche à effectuer si on connaît
le moment où on la première tâche doit être effectuée.
Et comment faire ?
Il vous suffit à chaque lancement de votre appli ou à chaque
modification de la queue des tâches de calculer dans combien de temps
aura lieu la tâche suivante et de mettre un timer sur ce temps. Mais
sinon, vous pouvez aussi utiliser l'utilitaire AT fourni avec Windows
qui fait ça trés bien.
Il me paraît plus pertinent de ne réveiller le service que lors de la première tâche (au sens chronologique) à effectuer. Ca ne sert à rien de vérifier toutes les minutes s'il y a une tâche à effectuer si on connaît le moment où on la première tâche doit être effectuée.
Et comment faire ?
Il vous suffit à chaque lancement de votre appli ou à chaque modification de la queue des tâches de calculer dans combien de temps aura lieu la tâche suivante et de mettre un timer sur ce temps. Mais sinon, vous pouvez aussi utiliser l'utilitaire AT fourni avec Windows qui fait ça trés bien.