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

Ada Discussion :

Traitement par lot : limiter une entrée de tâche dans le temps


Sujet :

Ada

  1. #1
    Invité
    Invité(e)
    Par défaut Traitement par lot : limiter une entrée de tâche dans le temps
    Bonjour,

    Edit ::= Après breve analyse, le problème se précise.
    Je cherche à limiter la file d'attente d'une entrée de tache dans le temps.


    Message original ::=

    Un ensemble de client passent leur travail au gestionnaire de l'usine qui les mets au fur et à mesure dans un tampon. Une fois que tout les clients ont soumit leur travail, le gestionnaire de l'usine soumet l'ensemble des travaux contenu dans le tampon à la machine.

    Comment implémenter ce modèle en faisant attendre les clients jusqu'à ce que leur travail fait leur soit retourné ?
    Dernière modification par Invité ; 31/01/2008 à 06h29.

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Ca ressemble fortement à une variante du producteur-consommateur :

    http://www.ada-france.org/IMG/pdf/c_bellissant.pdf

  3. #3
    Invité
    Invité(e)
    Par défaut
    Yep, bonjour,

    Merci PRomu@ld.

    Je n'ai jamais utilisé ce mécanisme, ni même étudié sérieusement, mais il est certain que j'était mal parti pour faire mon boulot.

    A propos des producteur/consommateurs, il n'y a pas des problèmes persistants malgré les mécanismes mis en œuvre dans ce modèle ?

  4. #4
    Invité
    Invité(e)
    Par défaut Petite question en extra
    Yep

    Petite question en extra...

    Les entrées dans un select sont elle acceptées dans l'ordre ou elles apparaissent dans le select ?

    Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    select
       accept Logout do
          ....
       end Logout;
    or
       accept Login do
          ....
       end Login;
    or
       accept Take() do
          ....
       end Take
    or
       accept Submit() do
          ....
       end Submit;
    or
       delay 0.05;
       if travail_a_faire then
          faire_les_jobs;
       end if;
    end select;
    Vais-je accepter tous les logout avant les login ?

    Extra extra ... Que pensez vous d'une tache telle que celle ci ?

    Le mécanisme dont je souhaite profiter est la mise en queue des entrées. En effet, je souhaite accumuler tous les travaux en entrée de Submit pour traiter ainsi toute la file d'attente d'un coup.

    Merci !
    Dernière modification par Invité ; 30/01/2008 à 09h20. Motif: Complétion du code

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Points : 100
    Points
    100
    Par défaut
    L'ordre d'exécution des alternatives d'un select est essentiellement arbitraire bien que certains types d'alternatives puissent être exécutés avant les autres (cf ARM 9.7.1 (14, 15)).

    Je ne suis pas sûr de bien comprendre "accumuler tous les travaux en entrée de Submit", mais tu pourrais par exemple empiler (ou enfiler) les traitements lors de chaque Submit et exécuter la pile (ou la file) lors du dernier Logout.

    Alternativement, si chaque client possède 2 tâches (une appelant Logout et l'autre Submit), alors tu peux mettre une garde à Submit (du genre "when Nb_Connectes = 0").

  6. #6
    Invité
    Invité(e)
    Par défaut
    Yep,

    Merci boromir73

    Citation Envoyé par boromir73 Voir le message
    L'ordre d'exécution des alternatives d'un select est essentiellement arbitraire bien que certains types d'alternatives puissent être exécutés avant les autres (cf ARM 9.7.1 (14, 15)).
    Merci pour cette précision.

    Citation Envoyé par boromir73 Voir le message
    Je ne suis pas sûr de bien comprendre "accumuler tous les travaux en entrée de Submit", mais tu pourrais par exemple empiler (ou enfiler) les traitements lors de chaque Submit et exécuter la pile (ou la file) lors du dernier Logout.
    Par "accumuler tous les travaux en entrée de Submit" j'entend simplement traiter toute la queue de l'entrée d'un coup.

    Mon problème est de limiter cette queue dans le temps.

    Citation Envoyé par boromir73 Voir le message
    Alternativement, si chaque client possède 2 tâches (une appelant Logout et l'autre Submit), alors tu peux mettre une garde à Submit (du genre "when Nb_Connectes = 0").
    Je cherche !

    mon projet est la Na'hash_Ada_Project-0.0.0e.tgz , les problèmes que j'évoque ici sont ceux relatif au paquetage nahash-nahash dans nahash-server, qui doit donner les travaux à un module Ia qui n'est pas encore développé. C'est loin d'être finalisé tout de même.

  7. #7
    Invité
    Invité(e)
    Par défaut Précision du problème.
    Donc, je cherche à présent comment limiter la file d'attente d'une entrée de tache dans le temps.

    Si j'écris ::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    when date_courante < echéance =>
    accept ....
    Est-ce que ça vous dérange ?


    Et, pourais-je en alternative écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ....
    or
       delay until echéance;
    ...
    ?

    Merci !
    Dernière modification par Invité ; 31/01/2008 à 07h32.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Traitement par lot sur une collection ( HashTable )
    Par handsome01 dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 09/09/2014, 16h08
  2. Traitement par lot pour rajouter un copyright.
    Par Tristan_C dans le forum Imagerie
    Réponses: 3
    Dernier message: 11/10/2008, 13h04
  3. [Data] Traitement par lot
    Par titeuf92 dans le forum Spring
    Réponses: 1
    Dernier message: 25/03/2008, 11h51
  4. Utiliser Log4J comme sortie d'un traitement par lots.
    Par Pierre8r dans le forum Logging
    Réponses: 1
    Dernier message: 24/11/2007, 11h34
  5. [FTP] Traitement par lot
    Par gandalf76fr dans le forum Langage
    Réponses: 5
    Dernier message: 06/11/2007, 23h04

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