2009-11-12 5 views
0

Dans la méthode de Connection, combien de timeout devrais-je lui donner? : S Je n'ai aucune idée de ce que serait un délai d'attente normal, combien de temps cela devrait-il prendre? :)Combien de timeout utiliser dans isValid()?

Je ne veux pas isValid() pour retourner false si elle pouvait retourner vrai si elle avait eu plus de temps, mais aussi je ne veux pas qu'elle ralentisse tout le programme et me donne des "gels".

Si je mets 0, cela signifie-t-il que je ne m'inquiète pas du délai, il essayera aussi longtemps que nécessaire?

Merci!

+0

Pourriez-vous nous en dire plus sur le contexte dans lequel vous faites cela? C'est le genre de chose que je n'appellerais que si j'écrivais mon propre pool de connexion, et je me demande s'il existe une meilleure façon de résoudre votre problème. –

Répondre

2

Cela dépend de beaucoup de choses. En général, je suppose que le temps que prendVid est à peu près au même moment qu'une simple requête. Pour cette raison, j'utiliserais le temps maximum acceptable pour l'utilisateur.

E.g. Si vous pensez que les utilisateurs de votre application web (par exemple) attendront au plus 5 secondes avant d'abandonner, vous pouvez utiliser cette valeur pour isValid. Parce que cela n'a aucun sens de déclarer la connexion valide si cela prend, disons, 50 secondes pour atteindre la base de données.

+0

merci, 5 secondes sonne bien – Johannes

1

Je ne sais pas ce qu'est un délai d'attente normale serait, combien de temps faut-il prendre ?

Ensuite, mettez le délai d'attente dans la configuration du programme (quel qu'il soit). Peut-être enregistrer les événements lorsque le délai d'attente se produire et acquérir une certaine expérience au fil du temps ce qui est un délai d'attente normal.

... mais aussi je ne veux pas de ralentir le programme d'ensemble et donnez-moi « gèle »

Est-ce un programme interactif pour les utilisateurs finaux, alors pensez comment beaucoup de temps, elle attendra sans être nerveux. Pour moi 2-3 secondes est toujours ok, selon ce que le programme fait pour moi. Est-ce un programme de serveur d'arrière-plan qui pense à ce qui peut arriver que la connexion soit retardée (réseau de reconnexion, etc.). Un programme d'arrière-plan peut attendre plus longtemps.