2

python / djangoに実装され、ejabberd2.1.3とStrophe.jsを使用する内部Webチャットアプリケーションがあります。特別なアクセスリンクを使用してWebサイトを開くと、cmd行の呼び出しが実行され、共有名簿グループに追加されます。

ejabberdctl srg_user_add 00024-540-1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com

は正常に実行され、このcmdを手動で実行すると、メンバーは正常に表示されます。

ejabberdctl srg_get_members 1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
00024-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com
01114-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com

ただし、Strophe.jsプレゼンスハンドラーでは、自分自身のプレゼンススタンザのみを受け取ります。つまり、2つの異なるメンバーの2つの異なるブラウザーで2つの異なるリンクを開いた場合、他のメンバーのプレゼンススタンザは受け取りません。ejabberdログレベルをデバッグに設定すると、これがここに反映されます。

<presence xmlns ='jabber:client' from = '0031-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3189433061352390311794558' to = '0031-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3189433061352390311794558' /> 
< pres jabber:client'from ='0030-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3319710041135238652858307'to ='0030-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3319710041135238652858307'/>

他のメンバーのスタンザがありません:

<presence xmlns ='jabber:client' from = '0031-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3189433061352390311794558' to = '0030-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3319710041135238652858307' />

2台目のサーバーでも同じ設定で正常に動作し、期待どおりにスタンザが表示されます。以前は、問題のあるサーバーでも機能していましたが、先週、データセンターで完全な電源障害が発生し、サーバーがダウンしました。それ以来、私はそれを再び機能させることができないようです。停電により一部のファイルが破損した可能性がありますか?片付けるべきものはありますか?残念ながら、以前の責任者はもう私たちの会社にはいません...

4

1 に答える 1

0

私は問題を見つけました - いくつかのばかげた内部的な理由により、

ejabberdctl srg_create ...

が見つからなかったため、メンバーは存在しないグループに追加されました。srg_user_add および srg_get_members コマンドがエラーなしで機能した理由がわかりません。彼らがグループが存在しないことについて何らかのヒントを与えていたら、私は問題をより早く発見したでしょう

于 2012-11-12T08:48:18.600 に答える