2012-05-09 11 views
1

今日私のアプリで気づいたことに完全に困惑しています。2つの同時リクエストがNode.jsアプリに混在する

私は、バックエンドにmongodbを持つnginx上で動作するnode.jsで書かれたアプリを持っています。私はユーザー名とパスワードを取る 'authenticateUser' calを持っています。次に、mongodbに照会してユーザー文書を検索し、パスワードが一致するかどうかを確認します。

私たちは基本的に 'authenticateUser'をループで100回呼び出すスクリプトを書いています。それは正常に働いた。エラーはありません。今度は、同じスクリプトを2つの端末から実行しました.1つはユーザー請求書用、もう1つはユーザーsam用です。私たちは両方の端末で障害を見始めました。私は約10%のリクエストが無効なパスワードエラーで失敗したと言います。

ログファイルを調べると、請求書のユーザー名がsamのパスワードと混同しているのが目につきました。私たちは何が起こっているのか分かりません。明らかに間違ったことをする必要があります。それは何ですか? 2つのリクエストが完全に分離されていませんか?

ご迷惑をおかけして申し訳ありません。

多くの感謝! SU

+0

コードを含めることができますか? – sarnold

+0

コードベースが大きいです。私は、今日ここで関連するセクションをコピーして貼り付けようとします。 –

+0

あなたは20行のスクリプトでそれを再現できますか? – sarnold

答えて

5

グローバル変数を頻繁に使用していますか?このようなエラーの一般的な原因は、varがありません。

ええ、私はソースコードを見たいと思います...

+0

あなたは 'var'を使って変数を宣言しないと、自動的にグローバル変数になると言っていますか? –

+0

はjavascriptで - はいそれは – alex

+0

でした。すべての宣言からvarを追加することで問題は解決されました。どうもありがとう! –

関連する問題