IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Scheduling multi plateforme


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 230
    Points : 132
    Points
    132
    Par défaut Scheduling multi plateforme
    Bonjour,

    ma question concerne autant la conception que l'implémentation.

    j'ai besoin de faire tourner une tâche à intervalles réguliers. Ma tâche est implémentée dans un exécutable compilé sous GCC sous différentes plateformes (Windows, GNU/Linux et MacOS). J'ai donc besoin de mettre en place un mécanisme le plus universel possible.
    Pensez-vous que je doive enregistrer ma tâche dans le scheduler du système sur lequel elle est déployée (task-scheduler, cron...) ou bien puis-je développer mon scheduler en C++ et ce de manière multiplateforme (j'ai regardé du côté de Boost et n'ai rien trouvé) ? En Java il existe une solution très pratique mais j'ai beau éplucher les forums... je ne trouve rien.
    Comment sont schedulés les démons ?

    Second point, si on a admet que je puisse schéduler en C++ (ce qui m'arrangerait pour les raisons de portabilité énoncées plus haut), quelle librairie puis-je utiliser ? J'ai cru comprendre que Windows ne connaissait pas le SIGALRM... Alors que faire ?

    Merci à tous.

  2. #2
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    Bonjour.

    Citation Envoyé par esteban Voir le message
    ou bien puis-je développer mon scheduler en C++ et ce de manière multiplateforme (j'ai regardé du côté de Boost et n'ai rien trouvé)
    Je ne suis pas sûr de bien savoir ce qu'est un scueduler (pour moi, c'est le gestionnaire d'ordonnancement des processus du système), mais si tu n'a besoin que de ça, je suis étonné qu'entre boost::process, boost::thread et boost::signal, tu n'aie pas trouvé ton bonheur... d'autant qu'il me semble que contrairement à la dernière fois que je l'ai utilisé, boost_thread implémente désormais les priorités...

    Par contre, je dois avouer que je n'ai qu'une connaissance extrêmement superficielles des démon (c'est à dire que je les croise uniquement quand ils posent problèmes) donc je ne suis pas sûr de correctement répondre à ta question :s
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut !

    A ta place, j'utiliserais le scheduler "standard" du système cible. Pour conserver la portabilité, tu peux écrire une série de scripts pour l'installation sur chaque plateforme. Je sais que c'est facile avec Cron, je pense que ça doit être faisable aussi sur Windows. A partir du moment, ou ta chaîne de compilation supporte plusieurs plateformes, ce n'est pas très compliqué de lui faire gérer le bon choix des scripts (normalement).

    Un peu comme pour les installeurs : les applis multiplateformes sont généralement livrées avec un installeur ciblé.
    Find me on github

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Pour Windows ce n’est pas cron mais les tâches planifiées configurables avec, par exemple, l'exécutable "at".

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut

    oui, windows a son propre outil intégré, le task-scheduler. Par contre je ne savais pas que at tournait aussi sous windows, c'est une bonne idée de s'en servir !
    Find me on github

Discussions similaires

  1. Outils de développement multiplateforme
    Par jibe74 dans le forum Outils pour C & C++
    Réponses: 27
    Dernier message: 30/10/2006, 00h04
  2. pbm de choix d'un SGBD multi plateForme
    Par WuKoDLaK dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 06/05/2006, 19h12
  3. Outil de développement multi-plateformes
    Par alex6891 dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 04/04/2006, 10h03
  4. Quel langage pour application multi-plateforme ?
    Par yukimura_s33 dans le forum Langages de programmation
    Réponses: 22
    Dernier message: 21/11/2005, 13h22
  5. Quel lg et IDE pour dev 1 appli multi-plateformes?
    Par Langelot dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 03/02/2005, 23h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo