Je pense que je pourrais malentendre quelque chose au sujet des sessions Rails, alors s'il vous plaît gardez-moi, je ne formulerais peut-être pas ma question de la meilleure façon.Ma session Rails est réinitialisée lorsque j'ai des demandes simultanées
Je travaille sur une application iPhone avec un backend Ruby on Rails. J'ai une vue web qui par défaut va à l'action d'index d'un contrôleur (et utilise des sessions), et en arrière-plan un tas d'appels d'API allant à un contrôleur différent (et qui n'ont pas besoin d'utiliser des sessions).
Le problème est que les sessions définies par ma vue Web semblent être surpassées par les appels d'API. Mon serveur de mise en scène est assez lent, donc il y a beaucoup de temps pour les demandes de se chevauchent - ce que je vois dans les journaux est essentiellement ceci:
Request A (first controller) starts. Session is empty.
Request B (second controller) starts. Session is empty.
Request A finishes. Request A has done authentication, and stored the user ID in the session. Session contains user ID.
Request B finishes. Session is empty.
Request C starts. Session is empty - not what I want.
Maintenant, la chose étrange est que la demande B ne doit pas être écrit quoi que ce soit à la session.
Je n'ai avant et après les filtres qui se lit de la session - des choses comme:
user = User.find_by_id(session[:id])
ou
logger.debug session.inspect
et si je retire tous ceux-ci, alors tout fonctionne comme prévu - la session Le contenu est défini par la requête A, et ils sont toujours présents lorsque la requête C démarre.
Donc. Je pense qu'il me manque quelque chose sur le fonctionnement des sessions. Pourquoi la lecture de la session l'écraserait-elle? Dois-je y accéder d'une autre manière? Suis-je complètement sur la mauvaise piste et le problème est ailleurs?
Merci pour vos commentaires!
La même chose m'arrive aussi. Avez-vous trouvé une solution pour cela? – jumpa