12
votes

Comment sauver des problèmes de délai d'attente (rubis, rails)

La plupart de mes applications ont beaucoup à voir avec des services Web et souvent en raison du site tiers, je reçois des problèmes de délai d'attente.

C'est l'erreur que je reçois: xxx

Comment puis-je sauver ce type d'erreur dans une application Rails?


0 commentaires

3 Réponses :


2
votes

C'est ce que je fais dans mes rails apps: xxx

Vous pouvez spécifier l'exception comme si vous le feriez dans une clause de sauvetage bien sûr.

Salutations, Joe


4 commentaires

Ne jamais sauvegarder exception . Est une mauvaise habitude de programmation. Vous devez sauver des exceptions spécifiques ou du moins, standardError .


«Exception» était censé clarifier où attraper le particulier, mais vous avez raison, cela aurait dû être plus clair! :)


J'ai un peu savait comment faire cela avec ActiveRecord introuvable. Je ne savais tout simplement pas quoi ou comment sauver cette erreur particulière.


Si vous ne voulez pas que ActiveRecord vous explose, essayez objet.find_by_key (parames [: ID]) Cela permettra d'utiliser un objet NULL que vous pouvez utiliser sans tout le code de traitement de l'exception laid.



30
votes

Selon la façon dont vous utilisez la bibliothèque, il existe différentes façons de sauver l'exception.

dans la bibliothèque

supposant que vous avez créé une emballage pour accéder à une sorte de Service Web, vous pouvez avoir le wrapper sauver l'exception et retourner toujours une "sécurité".

dans l'action

Si vous appelez une méthode spécifique Dans l'action et la méthode, le succès est une exigence pour l'action, vous pouvez ensuite le sauver dans l'action. Dans l'exemple suivant, je sauve l'erreur et montrez un modèle spécifique pour gérer le problème. xxx

dans le contrôleur

Si l'appel de la méthode peut se produire dans de nombreuses actions différentes, vous voudrez peut-être utiliser sauve_from . xxx


0 commentaires

4
votes

Utilisez le génial rack :: Timeout GEM pour vos applications de rack

Utilisez ensuite la bonté du contrôleur de Simone


0 commentaires