Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Asyncio dans un thread ? Bonne idée ou pas ?

+1 vote

Toujours dans ma quête pour masteriser WAMP, je voulais savoir si utiliser asyncio dans un thread était une bonnée idée.

Plus précisément, je souhaite l'utiliser avec kivy ou un autre framework graphique, mais le fait de devoir associer l'event loop d'asyncio à l'event loop du toolkit graphique me donne des sueurs froides. Du coup, si l'event loop du gui est dans le thread principal, asyncio pourrait tourner dans un thread secondaire.

Qu'en pensez-vous ?

demandé 26-Jul-2016 par Johjo (220 points)

Comme je te l'ai déjà expliqué, cette architecture ne fonctionnera pas. Tu veux mélanger de l'asynchrone avec une boucle OpenGL. Tu vas galérer. Il faut que tu découpes ton architecture en composants distincts. Laisse tomber WAMP, c'est une usine à gaz...Tu fais un serveur web asynchrone ou pas...et ton appli Kivy fait des requêtes sur ton serveur. C'est plus simple, plus flexible.

Oui, je me souviens de ta réponse.
Mon appli kivy fait actuellement des requêtes à un serveur distant avec un protocole REST.

Mais si je comprend bien ta logique, j'aurais :
Mon appli Kivy <---> Serveur local (REST + WAMP) <----> Serveur distant (WAMP)

Je souhaite mettre en place un service de messagerie "instantanée". Est-ce que c'est pertinent de balancer des requêtes au serveur local toutes les x secondes pour savoir si j'ai reçu des messages ?

Et enfin, est-ce que l'architecture Android me permet de lancer mon serveur local lorsque je lance mon appli kivy ?

Pour ce que tu veux faire, tu n'as pas besoin de Wamp...même si j'ai bien compris que tu veux absolument l'utiliser, mais ça ne sert à rien. Kivy permet de faire des requêtes asynchrones. Et pour ton idée de messagerie, une technologie à message me paraît plus adaptée (mosquitto, rabbitMQ, zeroMQ). Laisse Wamp de côté, à l'état actuel c'est du proof of concept. Tu vas te taper une architecture bancale avec Wamp (problème entre les versions Twisted et problème entre les versions Python).

Oui tu peux très bien lancer ton serveur local au lancement de Kivy sous Android.

Après dans ton architecture, je ne comprends pas l'intérêt du serveur local alors que tu as un serveur distant, tape directement le distant à partir de Kivy...utilise une techno à message pour communiquer entre les 2.

Kivy <---------------> MQT <-----------------> Serveur distant

Le serveur local, c'est ce que j'avais compris de ta réponse (la toute première), désolé ^^'

Je ne connais pas ces technologies à message, je vais jeter un coup d'oeil.

Merci :)

P.S. Et oui, au fond de moi, je veux absolument utiliser ce truc... C'est le côté micro service distribué qui m'a emballé. C'est de la faute à Sam tout ça...

Votre réponse

Preview

Votre nom à afficher ( en option ):
Vie privée: . Votre adresse de messagerie ne sera utilisée que pour l'envoi de ces notifications .
Vérification anti -spam:
Pour éviter cette vérification à l'avenir, Connectez vous ou inscrivez vous.
...