Récupérer un fichier de manière asynchrone

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

sans entrer trop dans les détailles, j'aimerais (dans un thread) récupérer le contenu d'une page web si une regex est bien effectuée. Parfois cette opération prend trop de temps par rapport à ce que je souhaite. J'aimerais donc faire en sorte que cette méthode (regex & urlopen().read() ) se face en parallèle du fonctionnement de mon thread. Je n'ai pas besoin de récupérer une quelconque donnée de cette méthode. J'ai lu les nouveautés à propos de async et await mais je n'arrive pas du tout à comprendre le fonctionnement du module asynchio (malgré les bouts de code sur Stackoverflown)

Du coup, je me demandais qu'elle était (en python 3.5) la méthode la plus correcte pour exécuter de telle fonction en parallèle du process principal. Je peux me débrouiller avec des pistes mais considérez que je reste débutant ;)

+0 -0

Si tu as besoin, de temps en temps, de faire l'appel urlopen(), un simple thread par appel devrait faire l'affaire pour ne pas bloquer le fil principal du programme. Pas besoin de te prendre la tête avec l'asynchrone. Si tu as besoin de faire plein d'urlopen() par seconde, c'est une autre histoire.

Tu as besoin du résultat d'urlopen() pour continuer dans ton programme ou y aurait d'autre choses à faire entre temps ?

Tu aurais pas un peu de code à nous montrer, ou bien une description en pseudo-code ? Ça serait plus simple de savoir ce que fait ton programme pour trouver la meilleure solution.

Édité par Au

+0 -0
Staff

Asyncio ne devient utile que si la totalité de ton programme fonctionne de façon asynchrone, c'est-à-dire :

  • qu'il sert des clients tout en allant requêter des ressources externes,
  • ou qu'il a besoin de lancer et d'attendre beaucoup de requêtes parallélisables.

Dans ton cas précis utiliser un thread est plus simple et sûrement moins cher.

I was a llama before it was cool

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte