問題タブ [crossbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pycurl を crossbar.io にインポートするとエラーが発生する
では、crossbar.io を使用して Python でアプリをビルドしたいと思います。
デモを動作させることはできますが、私のアプリは、pycurl を使用して長寿命の http 接続をリッスンするスレッドをスピンオフする必要があります。
個別に、crossbar.io コードと pycurl コードは機能しますが、次の操作を行うと「インポートが見つかりません」というメッセージが表示されます。
legacy_Listener には、「インポート pycurl」を含むスレッド コードが含まれています (このモジュールは単独でうまく機能します)。
crossbar.io のサンプル コードと独自のコードを混在させると、次のエラーが発生します。
2016-04-09T20:42:13+0100 [コントローラー 26219] ID 'worker2' および PID 26333 のコンテナーが開始されました 2016-04-09T20:42:13+0100 [コンテナー 26333] コンポーネントの読み込みに失敗しました トレースバック (最新の呼び出しが最後) : ファイル "/opt/crossbar/site-packages/autobahn/wamp/websocket.py"、90 行目、onMessage self._session.onMessage(msg) ファイル "/opt/crossbar/site-packages/autobahn/wamp/protocol .py"、809 行目、onMessage on_reply = txaio.as_future(endpoint.fn, *invoke_args, **invoke_kwargs) ファイル "/opt/crossbar/site-packages/txaio/tx.py"、339 行目、as_future return MaybeDeferred(fun, *args, **kwargs) File "/opt/crossbar/site-packages/twisted/internet/defer.py", line 150, in MaybeDeferred result = f(*args, **kw) --- --- ファイル "/opt/crossbar/site-packages/crossbar/worker/container.py",192 行目、start_container_component create_component = _appsession_loader(config) ファイル内 "/opt/crossbar/site-packages/crossbar/worker/初期化.py"、74 行目、_appsession_loader pythonpath=sys.path autobahn.wamp.exception.ApplicationError: ApplicationError(error=, args=['Failed to import class \'hello.AppSession\'\nTraceback (最新の呼び出しが最後) :\n ファイル "/opt/crossbar/site-packages/autobahn/wamp/protocol.py"、809 行目、onMessage 内\n on_reply = txaio.as_future(endpoint.fn, *invoke_args, **invoke_kwargs)\n ファイル"/opt/crossbar/site-packages/txaio/tx.py"、339 行目、as_future 内\n return MaybeDeferred(fun, *args, **kwargs)\n ファイル "/opt/crossbar/site-packages/twisted /internet/defer.py"、150 行目、maybeDeferred\n 結果 = f(*args, **kw)\n ファイル "/opt/crossbar/site-packages/crossbar/worker/container.py"、192 行目、start_container_component\n create_component = _appsession_loader(config)\n--- ---\n ファイル "/opt/crossbar/site-packages/crossbar/worker/init .py"、58 行目、_appsession_loader 内\n module = importlib.import_module(module_name)\n ファイル "/opt/crossbar/lib-python/2.7/importlib/ init .py"、37 行目、import_module 内\n import (name)\n ファイル "/home/osboxes/qbtwebmon/hello.py"、36 行目、\n from legacy_misc import Legacy_Listener\nexceptions.ImportError: No module named legacy_misc\n']、kwargs={'pythonpath': [u'/home/osboxes/qbtwebmon', '/opt/crossbar/site-packages/crossbar/worker', '/opt/crossbar/bin', '/opt/crossbar/lib_pypy/拡張機能'、'/opt/crossbar/lib_pypy'、'/opt/crossbar/lib-python/2.7'、'/opt/crossbar/lib-python/2.7/lib-tk'、'/opt/crossbar/lib-python /2.7/plat-linux2', '/opt/crossbar/site-packages', '/home/osboxes/qbtwebmon/wamp_venv/lib/python2.7/site-packages']}, enc_algo=None)
2016-04-09T20:42:13+0100 [コンテナ 26333] Python モジュール検索パス: 2016-04-09T20:42:13+0100 [コンテナ 26333] /home/osboxes/qbtwebmon 2016-04-09T20:42:13 +0100 [コンテナー 26333] /opt/crossbar/site-packages/crossbar/worker 2016-04-09T20:42:13+0100 [コンテナー 26333] /opt/crossbar/bin 2016-04-09T20:42:13+0100 [コンテナ 26333] /opt/crossbar/lib_pypy/拡張機能 2016-04-09T20:42:13+0100 [コンテナ 26333] /opt/crossbar/lib_pypy 2016-04-09T20:42:13+0100 [コンテナ 26333] /opt/crossbar/lib-python/2.7 2016-04- 09T20:42:13+0100 [コンテナ 26333] /opt/crossbar/lib-python/2.7/lib-tk 2016-04-09T20:42:13+0100 [コンテナ 26333] /opt/crossbar/lib-python/2.7 /plat-linux2 2016-04-09T20:42:13+0100 [コンテナ 26333] /opt/crossbar/site-packages 2016-04-09T20:42:13+0100 [コンテナ 26333] /home/osboxes/qbtwebmon/wamp_venv /lib/python2.7/site-packages 2016-04-09T20:42:13+0100 [コンテナー 26333] NativeWorkerSession.onUserError 2016-04-09T20:42:13+0100 [コントローラー 26219] crossbar.error.class_import_failed: 失敗しましたクラス 'hello.AppSession' をインポートするにはin onMessage on_reply = txaio.as_future(endpoint.fn, *invoke_args, **invoke_kwargs) ファイル「/opt/crossbar/site-packages/txaio/tx.py」の 339 行目、as_future で MaybeDeferred(fun, *args, **kwargs) ファイル "/opt/crossbar/site-packages/twisted/internet/defer.py"、150 行目、maybeDeferred の結果 = f(*args, **kw) ファイル "/opt/crossbar/site-packages /crossbar/worker/container.py"、192 行目、start_container_component create_component = _appsession_loader(config) --- --- ファイル "/opt/crossbar/site-packages/crossbar/worker/行 150、maybeDeferred result = f(*args, **kw) File "/opt/crossbar/site-packages/crossbar/worker/container.py"、行 192、start_container_component create_component = _appsession_loader(config) --- --- ファイル "/opt/crossbar/site-packages/crossbar/worker/行 150、maybeDeferred result = f(*args, **kw) File "/opt/crossbar/site-packages/crossbar/worker/container.py"、行 192、start_container_component create_component = _appsession_loader(config) --- --- ファイル "/opt/crossbar/site-packages/crossbar/worker/init .py」、58 行目、_appsession_loader module = importlib.import_module(module_name) ファイル内 "/opt/crossbar/lib-python/2.7/importlib/ init .py"、37 行目、import_module import (name) ファイル内 "/ home/osboxes/qbtwebmon/hello.py", line 36, in from legacy_misc import Legacy_Listener exceptions.ImportError: Legacy_misc という名前のモジュールはありません
2016-04-09T20:42:13+0100 [コントローラー 26219] TERM をサブプロセス 26272 に送信しています 2016-04-09T20:42:13+0100 [コントローラー 26219] 26272 が終了するのを待っています...
何時間ものグーグル検索の後、クロスバー.ioが実行されているpypyでpycurlが機能しないことに気付きましたが、クロスバーを実行するために「pypyを使用」し、「cpythonを使用する」と言う方法があるかどうか疑問に思っていましたプロジェクトを実行していますか?
最後に、これはパスの問題ではありません。追加してテストしました。
crossbar - Crossbar Thruway ワーカーのクラッシュ
PHP Thruway ワーカーを備えた Crossbar.io サーバーがあります。最近、次のエラーが発生し始めました。現在、1日1回程度発生しています。
これを防ぐために暑いことを知っている人はいますか?
この場合のようにワーカーが失敗した場合、ワーカーを自動的に再起動するにはどうすればよいですか?
python-3.x - Crossbar.io のホスト名を取得するには?
crossbar.io を使ってチャットを書いています。チャットのノードがいくつかあります。各ノードに関する統計を書き込む必要があるため、特定のノードが実行されているホスト名を取得する必要があります。
コンポーネントインスタンスからホスト名を取得することは可能ですか?
crossbar/autobahn と python 3.4 の最新バージョンを使用しています。
ローカル環境を使用している場合は、get - 127.0.0.1 が期待されます。
websocket - 中間証明書とクロス署名証明書を使用したクロスバー SSL/TLS 構成
Crossbarの最新バージョン(Ubuntu 14.04 からインストールされた 0.13 apt-get
) を使用すると、SSL と中間証明書を使用した接続に問題が発生します。
ca_certificates
キーにプロパティを指定せずにサーバーをセットアップすると、サーバーは正常に動作し、プロトコルtls
経由で Google Chrome を使用して接続できます。ただし、 thruwaywss
を使用して接続しようとすると、次のエラーで失敗します。
接続できませんでした: SSL/TLS ハンドシェイクを完了できません: stream_socket_enable_crypto(): SSL 操作がコード 1 で失敗しました。
Thruwayチームと話したことは、証明書の問題のようです。私たちのライブ サイトでは、Gandi の中間証明書とクロス署名証明書を使用しています。これは、一部のブラウザと一部の open-ssl 実装に必要です。
ブラウザーは鍵と証明書だけで TLS 接続を確立できますが、Thruway はチェーンを必要とするようです。ただし、Gandi が提供する 2 つの証明書を使用した以下の構成は、 Chrome と Thruwayのどちらでも機能しません。Chrome に次のエラーが表示されます。
失敗しました: WebSocket を開くハンドシェイクがキャンセルされました
.crossbar/config.json
以下のファイルを使用する場合。それで、これは私の構成、私の証明書、または Open-SSL スタックの他の部分の問題ですか?
(以下のファイルは、潜在的に機密性の高い情報を削除するために変更されているため、他の理由で機能しないように見える場合があります。接続が機能する場合、基になる認証と他のコンポーネントは正常に機能するため、TLS 実装に関する回答/コメントを保持してください。コメントは有効な JSON ではありませんが、読者が使用中の証明書ファイルを確認できるように含まれています)。
これに似た問題に対処する他の質問があります@
python - アウトバーンは autobahn.wamp.router をインポートできません
実行中にインポートエラーが発生しましたcrossbar start
:
ここでルーター モジュールのソースを見つけましたが、私のライブラリにはないようです (バージョン 0.14.0 を実行しています)。
何か不足していますか?