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

Python Discussion :

Intérraction de différents programmes entre eux


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Par défaut Intérraction de différents programmes entre eux
    Bonjour,

    J'ai actuellement un programme qui effectue plusieurs tâches en fond (sans intervention d'un utilisateur, tout est automatisé), sur un serveur distant Linux. Ce programme se lance au démarrage du serveur.

    J'aimerais maintenant créer un second programme à exécuter lorsqu'on se connecte au serveur à distance, une sorte de console de discutions, qui me permettrait de dialoguer et d'obtenir des informations sur mon premier programme sans l'interrompre.

    J'ai premièrement pensé à un fichier dans lequel je stock mes requêtes qui seront lues par mon premier programme qui exécutera la fonction correspondante, je me suis ensuite orienté vers les signaux mais j'ai bien l'impression qu'on ne peut pas les utiliser dans ce cadre (en tout cas je n'ai pas trouvé de tuto ou d'informations correspondantes). J'en reste donc à mes fichier, mais je suis convaincu qu'il ne s'agit pas là de la solution la plus optimale.

    Quelqu'un saurait-il m'orienter ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Je n'ai rien contre d-bus mais pour un dialogue simple entre n-client et un serveur, ça commence par de simples sockets IP et ça monte jusqu’à du Remote Procedure Call (RPC).
    Un bus sera plus approprie au cas M-clients, N-serveurs - mais qui peut le plus peut le moins.

    Pour le RPC, vous avez le choix.
    Dans tous les cas, ça passe par créer une activité asynchrone cote "serveur" qu'on peut appeler "console".
    "asynchrone" = threads, car elle doit pouvoir tourner sans gêner le serveur.
    Pour ce qui est du choix entre de simples sockets ou du RPC, ça dépend de la complexité des échanges.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    J'aurais plusieurs solutions :
    - le module os pour ouvrir des programmes, lorsque le programme reçoit une requête, il ouvre un autre programme
    - tout simplement que le tout soit dans le même programme, en pythonw sans console du coup, et on ouvre une fenêtre qui appartient au programme dès qu'on reçoit quelque chose

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Par défaut
    Merci pour vos réponse, je viens apporter quelques précisions :

    • Les deux programmes s'exécutent sur la même machine, j'exécute simplement le second via une connexion SSH.
    • Le premier script est constamment en route, il ne doit donc pas être exécuté par le second. On parle bien de communication et non pas d'appel.
    • Le premier script utilise déjà plusieurs Threads, mais étant lancé de manière automatique au démarrage de la machine, je ne pourrais pas accéder à sa console via une connexion SSH (ou si c'est en effet possible, je ne pense pas qu'il soit possible de gérer plusieurs connexion). Hors un second programme "console" qui se lance sur un terminal dédié à l'utilisateur qui se connecte via SSH peut se lancer plusieurs fois avec une identité distincte et dialoguer avec mon 1er programme.


    Pour le moment, je me penche sur la solution DBus qui me semble adapté au premier coup d’œil. Je vous tiens au courant

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Steider Voir le message
    je ne pourrais pas accéder à sa console via une connexion SSH (ou si c'est en effet possible, je ne pense pas qu'il soit possible de gérer plusieurs connexion). Hors un second programme "console" qui se lance sur un terminal dédié à l'utilisateur qui se connecte via SSH peut se lancer plusieurs fois avec une identité distincte et dialoguer avec mon 1er programme.
    Une console d'administration peut être réalisée par une thread qui se comporte comme un serveur HTTP ou plus simple pas besoin de passer par une interface "terminal".

    - 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. Pc dans 2 ranges d'IP différents non visibles entre eux
    Par tchangone dans le forum Dépannage et Assistance
    Réponses: 6
    Dernier message: 18/03/2013, 14h46
  2. Réponses: 14
    Dernier message: 13/11/2007, 19h46
  3. Réponses: 10
    Dernier message: 23/05/2007, 15h55
  4. 2 programmes interagi entre eux
    Par lermit dans le forum C++
    Réponses: 9
    Dernier message: 23/02/2007, 09h38
  5. Réponses: 8
    Dernier message: 11/03/2006, 18h40

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