2

私は自分のローカル マシンで開発を行っていますが、ブラウザー クライアントが接続を失い、ブラウザーとサーバーを手動で再起動しないと再接続できないことがよくあります。サーバー ログにエラーはありません。

OSX 10.8.4、流星 0.6.4.1。Google Chrome 28.0.1500.95

なぜこれが起こるのかについてのアイデアはありますか?

Meteor.status()
Object {status: "waiting", connected: false, retryCount: 2, retryTime: 1376450876245.0037}

...

Meteor.reconnect()
undefined
Meteor.status()
Object {status: "waiting", connected: false, retryCount: 11, retryTime: 1376500323062.412}

モンゴッド

Thu Aug 15 12:14:59.899 [initandlisten] MongoDB starting : pid=78417 port=27017 dbpath=/data/db/ 64-bit host=Kyles-MacBook.local
Thu Aug 15 12:14:59.900 [initandlisten]
Thu Aug 15 12:14:59.900 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Thu Aug 15 12:14:59.900 [initandlisten] db version v2.4.2
Thu Aug 15 12:14:59.901 [initandlisten] git version: nogitversion
Thu Aug 15 12:14:59.901 [initandlisten] build info: Darwin Kyles-MacBook.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
Thu Aug 15 12:14:59.901 [initandlisten] allocator: tcmalloc
Thu Aug 15 12:14:59.901 [initandlisten] options: {}
Thu Aug 15 12:14:59.901 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Thu Aug 15 12:14:59.902 dbexit:
Thu Aug 15 12:14:59.902 [initandlisten] shutdown: going to close listening sockets...
Thu Aug 15 12:14:59.902 [initandlisten] shutdown: going to flush diaglog...
Thu Aug 15 12:14:59.902 [initandlisten] shutdown: going to close sockets...
Thu Aug 15 12:14:59.902 [initandlisten] shutdown: waiting for fs preallocator...
Thu Aug 15 12:14:59.902 [initandlisten] shutdown: lock for final commit...
Thu Aug 15 12:14:59.902 [initandlisten] shutdown: final commit...
Thu Aug 15 12:14:59.902 [initandlisten] shutdown: closing all files...
Thu Aug 15 12:14:59.903 [initandlisten] closeAllFiles() finished
Thu Aug 15 12:14:59.903 [initandlisten] shutdown: removing fs lock...
Thu Aug 15 12:14:59.903 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Thu Aug 15 12:14:59.903 dbexit: really exiting now
    enter code here
4

2 に答える 2

0

ルートを間違って設定したことが判明しました。Meteor-router を使用して、古いチュートリアルに従って routes.js ファイルを構成しました。meteor-router のドキュメントに基づいてルートを書き直したところ、問題が解決しました。

于 2013-08-18T20:06:21.150 に答える
0

Meteor はデータ オン ザ ワイヤの原則を使用します。そのため、ブラウザにロードでき、データの「ライブ性」を維持するためにインターネットへの接続が必要です。

そのため、接続が失われた場合、再接続を試みてスマートに構築されます。そのため、最初は短い間隔で再接続を試みます。

そこに表示されるのは、Meteor がサーバーへの接続を再試行していることです。

  • status再試行を待っています。connectedfalse
  • retryCount再接続を試みた回数を示します
  • retryTime最後に接続を試みた/次回に接続を試みる時間を示します (どちらであるかはわかりません)

この時点でエラーはありませんが、Meteor は何をしても (コレクションの変更など) キューを作成し、接続するとすぐにこれらをサーバーにコミットします。

Meteor.reconnect()次の再接続間隔を待ちたくない場合は、ブラウザーを更新する代わりに、サーバーへの接続に使用できます。これにより、サーバーにコミットされていないデータが失われることもありません。

間に良好な接続があることを絶対に確信しているときにこれが発生した場合は、サーバーのコンソールを確認する必要があります。何かがクラッシュ/メインスレッドのロックアップを引き起こしている可能性があります。おそらく、ブロッキングの集中的なタスクを実行していますか? (つまり、大規模なコレクションから、CPU を集中的に使用するタスク?)

于 2013-08-14T14:51:01.320 に答える