J'ai cherché sur ceci mais ne peux pas sembler trouver une réponse exacte (la plupart entrent dans des choses plus compliquées comme le multithreading, etc.), je veux juste faire quelque chose comme une instruction d'essai, excepté si le processus doesn ' t terminer dans X nombre de secondes, il va lancer une exception.Python, Timeout d'essai, sauf relevé après X nombre de secondes?
EDIT: La raison en est que j'utilise un logiciel de test de site Web (sélénium) avec une configuration qui provoque parfois son blocage. Il ne lance pas d'erreur, ne temporise pas et ne fait rien, donc je n'ai aucun moyen de l'attraper. Je me demande quelle est la meilleure façon de déterminer si cela s'est produit afin que je puisse passer à autre chose dans ma demande, alors je me demandais si je pouvais faire quelque chose comme «si cela n'a pas fini de X secondes ... passer à autre chose». .
Lorsque vous dites que vous » re "utiliser un logiciel de test de site Web" - voulez-vous dire que vous l'appelez avec une sorte de "système" ou de tuyau, comme un processus enfant, ou quoi? (désolé si cela est évident pour quelqu'un de familier avec le sélénium, ce que je ne suis pas) –
Eh bien, il a sa propre API construite pour Python donc il importe juste quelques classes de Python Selenium et l'appelle à partir de là, son (sélénium) pas un python application bien que son écrit en javascript – Rick
Merci pour les réponses, cela m'a aidé à pointer dans la bonne direction, ce qui je pense est d'utiliser des processus et de le tuer en fonction de certaines conditions (si elle ne met pas à jour une DB avec une valeur indiquant qu'il a «fini» dans un certain laps de temps) – Rick