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

Réseau/Web Python Discussion :

programme bloquer par cherrypy [Python 3.X]


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Points : 37
    Points
    37
    Par défaut programme bloquer par cherrypy
    bonjour
    mon programme ce bloque à l'instruction:
    cherrypy.quickstart(connection.welcomepage()) (fichier 'connection' à part)
    le serveur ce lance bien et fonctionne
    le souci est que le programme ne continu pas a exécuter le reste des instructions.

    principe de fonctionnement:
    fenêtre principale (avec tk() ) avec ouverture automatique au lancement d'une autre fenêtre 'parametre' (Toplevel) pour recevoir des info de l'utilisateur
    lors de la fermeture de 'parametre' je souhaite lancer mon serveur web, puis ouvrir une nouvelle fenêtre (toplevel) automatiquement.
    sans la partie serveur web, mon prog fonctionne
    mais avec, et en mode debug il s'arrete a la ligne citer ci dessus

    je suis désole si ce n'est pas claire

    une idée pour m'orienter

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par mathrix77 Voir le message
    une idée pour m'orienter
    Si vous lancez un serveur Web, c'est pour qu'il attende et réponde aux requêtes HTTP donc normal que l'appel à cherrypy.quickstart bloque (et vous pouvez le tester par ailleurs): lorsqu'il se termine, il n'y a plus de serveur Web...

    Et si vous êtes bloqué, tkinter ne peut plus mettre à jour l'interface utilisateur ni prendre en compte les différents évènements.

    Pour faire coexister les 2, il faut utiliser des threads ou subprocess.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    ok merci
    je vais donc retourner dans la lecture de gerard swinnen lol
    comme vous avez du le comprendre je débute depuis 1 mois dans le python
    je ne connaît pas les threads
    merci

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    c'est bon ca a l'air de fonctionner
    merci wiztricks

    pour les noobs comme moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class threadserveur(threading.Thread):
        def __init__(self):
            threading.Thread.__init__(self)
            hostname = socket.gethostname()
            IP = socket.gethostbyname(hostname)
            cherrypy.config.update({'server.socket_host' : IP,'server.socket_port' : 8030,
                                   'server.thread_pool' : 10,'tools.encode.encoding' : 'Utf-8'})
        def run(self):
            cherrypy.quickstart(connection.WelcomePage())
    que j'appelle dans mon prog en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    th_s = threadserveur()
    th_s.start()

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par mathrix77 Voir le message
    c'est bon ca a l'air de fonctionner
    Vous voyez, c'est pas si compliqué à faire tomber en marche.

    Le plus difficile est de comprendre les différences entre threads et process... pour savoir quoi utiliser et quand.
    Ce sont des objets "système" pour lesquels Python offre une bibliothèque permettant de jouer avec.
    Pour comprendre, c'est de la littérature sur les systèmes d'exploitation qu'il faut regarder.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Programme bloqué par Windows Defender
    Par Francois C. dans le forum Sécurité
    Réponses: 7
    Dernier message: 25/08/2009, 07h53
  2. Réponses: 1
    Dernier message: 01/08/2008, 16h08
  3. Charger et executer un programme distant par http
    Par zadmalckz dans le forum C#
    Réponses: 4
    Dernier message: 03/07/2008, 16h51
  4. Modification du chemin des programmes installés par défaut
    Par djerba dans le forum Windows Vista
    Réponses: 2
    Dernier message: 06/02/2008, 00h00
  5. [Pro*C] Programmation & Appel par fonction C
    Par Lucinda dans le forum Interfaces de programmation
    Réponses: 1
    Dernier message: 15/06/2007, 14h37

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