2017-04-23 3 views
0

J'ai un bot discord.py et je voudrais permettre d'activer une fonction dans le bot discord en envoyant une requête GET au serveur . J'ai trouvé ce code ailleurs, mais cela ne fonctionne pas. Pas d'erreurs, mais il continue d'exécuter les clients les uns après les autres.2 Clients Async Python 3 simultanément (discord.py + aiohttp.web)

def runInParallel(*fns): 
    proc = [] 
    for fn in fns: 
    p = Process(target=fn) 
    p.start() 
    proc.append(p) 
    for p in proc: 
    p.join() 

Comment puis-je faire fonctionner un serveur aiohttp sans arrêter le serveur discord?

Répondre

0

que j'ai trouvé une solution de toutes sortes, je devais utiliser un serveur Web async, à savoir le mal documenté Kyoukai - http://kyoukai.readthedocs.io/en/latest/

Je peux maintenant l'interface silmeoutaneously avec l'API Discorde et héberger un serveur web simple!

0

Vous pouvez exécuter aiohttp avec n'importe quelle bibliothèque qui fonctionne avec asyncio. ou vous pouvez démarrer aiohttp dans un fil séparé.

+0

Ok, pourriez-vous me donner des liens vers de la documentation ou des exemples de code? Le démarrage des processus asynchrones n'a pas fonctionné pour moi car la commande qui démarre chacune des deux bibliothèques asyncio bloque le code. –

+0

Il n'existe aucune documentation spécifique sur la façon d'exécuter aiohttp dans un thread séparé, mais vous pouvez essayer de rechercher comment exécuter une boucle d'événement asyncio dans un thread séparé. en général, le code peut ressembler à ceci » def start_web(): boucle = asyncio.new_event_loop() asyncio.set_event_loop (boucle) web = aiohttp.web.Application() aiohttp.web. run_app (app, loop = lop) threading.Thread (start_web) .run –