Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

créer un utilitaire avec python : démarreur de serveur

2 réponses
Avatar
Titouille
Bonjour à tous !!

Voilà. je bosse sous windows, mais en général, je réinstalle toujours
python, même si je l'utilise assez peu (surtout pour des projets
spécifiques avec Flash)

Je tente actuellement de m'initier à MySql5, et n'étant pas pourvu de
beaucoup d'outils mis à part la ligne de commande pour faire certaines
actions de base (démarrer, arrêter le serveur, par exemple), je me suis
dit que j'allais tenter de faire quelque chose avec python.

Malheureusement, après quelque essais, je me retrouve confronté à un
problème... toujours le même.

Je dois démarrer mon serveur avec la commande suivante :

c:\\mysql\\bin\\mysqld-max-nt', '--console

donc je crée un petit fichier start.py dans lequel je met les lignes
suivantes :

[code]
import os
os.system( 'c:\\mysql\\bin\\mysqld-max-nt --console' )
[/code]

en exécutant le fichier, les lignes suivantes doivent normalement
s'afficher :

060207 23:12:09 InnoDB: Started; log sequence number 0 52515
060207 23:12:09 [Note] c:\mysql\bin\mysqld-max-nt: ready for con
nections.
Version: '5.1.5-alpha-nt-max-log' socket: '' port: 3306 MySQL
Community Edition (GPL) - Max



Puis j'aimerai ensuite exécuter une seconde commande par exemple pour me
permettre de me logger sur le serveur (voire même par la suite avoir une
interface graphique qui me permette quelques options, tels que
sélectionner une db précise, balancer une requête et voir un résultat,
etc... quelques trucs basiques)

Enfin, par rapport à l'état actuel (console) il faudrai qu'un message
d'attente s'affiche du genre "appuyer sur enter pour fermer le serveur"
et là, je peux exécuter une autre ligne de commande qui va me permettre
d'arrêter le serveur...





Maintenant, le problème... dès que l'action est lancée via os.system, je
perds la main, et suis obligé de fermer le serveur via la ligne de
commande habituelle avant de voir mon "appuyer sur Enter pour fermer le
serveur" (j'ai placé un "raw_input" après l'appel à os.system)


Donc la grande question est : comment lancer le serveur, récupérer ses
informations de log et les afficher (les parser par exemple pour savoir
si l'action est correcte et qu'il n'y a pas d'erreur) puis proposer ce
fameux message d'arrêt ? J'ai essayé différentes méthodes liées au
module os (popen, execl) mais rien n'y fait...


Si quelqu'un pouvait m'orienter sur la technique à adopter, une url
explicative sur le sujet (même en anglais), ça serai sympa :)


D'avance merci


A++

2 réponses

Avatar
Florent Manens
Bonjour,

Le 07-02-2006, Titouille a écrit :
Bonjour à tous !!

Voilà. je bosse sous windows, mais en général, je réinstalle toujours
python, même si je l'utilise assez peu (surtout pour des projets
spécifiques avec Flash)

Je tente actuellement de m'initier à MySql5, et n'étant pas pourvu de
beaucoup d'outils mis à part la ligne de commande pour faire certaines
actions de base (démarrer, arrêter le serveur, par exemple), je me suis
dit que j'allais tenter de faire quelque chose avec python.

Malheureusement, après quelque essais, je me retrouve confronté à un
problème... toujours le même.

Je dois démarrer mon serveur avec la commande suivante :

c:mysqlbinmysqld-max-nt', '--console


Après une installation en service, on peux utiliser :
net start MySQL
net stop MySQL

De plus, il existe une API pour manipuler les services :
http://www.serverwatch.com/tutorials/article.php/1576131

c'est adaptable facilement en python.


[...]
Puis j'aimerai ensuite exécuter une seconde commande par exemple pour me
permettre de me logger sur le serveur (voire même par la suite avoir une
interface graphique qui me permette quelques options, tels que
sélectionner une db précise, balancer une requête et voir un résultat,
etc... quelques trucs basiques)


Avec mysqlcc ?
http://www.mysql.com/products/tools/administrator/

Mes deux centimes,

--
Florent Manens


Avatar
Titouille
Hello !

Je ne connaissais pas le truc, pour net start et net stop. intéressant :)

Merci pour les différentes infos. je vais faire avec.

a++


Thierry

Bonjour,


Bonjour à tous !!

Voilà. je bosse sous windows, mais en général, je réinstalle toujours
python, même si je l'utilise assez peu (surtout pour des projets
spécifiques avec Flash)

Je tente actuellement de m'initier à MySql5, et n'étant pas pourvu de
beaucoup d'outils mis à part la ligne de commande pour faire certaines
actions de base (démarrer, arrêter le serveur, par exemple), je me suis
dit que j'allais tenter de faire quelque chose avec python.

Malheureusement, après quelque essais, je me retrouve confronté à un
problème... toujours le même.

Je dois démarrer mon serveur avec la commande suivante :

c:mysqlbinmysqld-max-nt', '--console



Après une installation en service, on peux utiliser :
net start MySQL
net stop MySQL

De plus, il existe une API pour manipuler les services :
http://www.serverwatch.com/tutorials/article.php/1576131

c'est adaptable facilement en python.


[...]

Puis j'aimerai ensuite exécuter une seconde commande par exemple pour me
permettre de me logger sur le serveur (voire même par la suite avoir une
interface graphique qui me permette quelques options, tels que
sélectionner une db précise, balancer une requête et voir un résultat,
etc... quelques trucs basiques)



Avec mysqlcc ?
http://www.mysql.com/products/tools/administrator/

Mes deux centimes,