問題タブ [svsocket]
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.
r - 式を evalServer に渡す
svSocket
サーバーで一般的な式を実行しようとしているパッケージで
どうすればそれを回避できますか? PS: 私の必要性は、サーバーにオブジェクトをプログラムで作成することです。たとえばdemo
、ユーザー入力から来て、上記の文字列に paste()d します。
再現可能な例 ### 2 つのセッションを開く
rstudio-server - ヘッドレスUbuntuでRセッションとrstudio-serverの間でsvSocket経由でメッセージを送信するには?
最近の を提供するヘッドレス R サーバーがありますrstudio-server
。
を介していくつかのオブジェクトを渡す必要がありますsvSocket
。
svSocket
は動作する X11 セッションを必要とする TCL/TK メッセージ キューを使用するため、仮想 X11 環境に何かを埋め込む必要があることはわかっています。
ssh 経由でサーバーにログインし、コマンド ラインに次のコマンドを入力します。
次に、Web インターフェイス経由で rstudio-server にログインし、次のコマンドを入力します。
次に、このRセッションで次を置きます
" " の結果が得られると期待しています4
が、代わりに R がハングし、プロンプトが返されません。
rstudio-server を通常の R に置き換えると、すべてが正しく機能します。
rsession
この例が壊れるほど特別な処理方法は何ですか? 修正方法は?
SessionInfo()
:
r - svSocket evalServer スキップ待ち処理
問題バージョン 1、ch_fun() が終了するのを待たずに pr_fun プロセスが返されるようにすることはできますか?
問題のある実際のバージョン
svSocket サーバーとしての R セッション 1
svSocket クライアントとしての R セッション 2
svSocket クライアントとしての R セッション 3
セッション 2 のコード行を実行し、サーバーが Sys.sleep 呼び出しを処理している場合、セッション 3 のコード行をセッション 3 にすばやく配置し、まだ処理されている呼び出しを中止します。オブジェクト「a」が作成されたかどうかを確認することで、サーバー側で確認できます。
私のポイントは、ジョブがセッション 3 で終了するのを待つ必要はなかったということですプロセスを待って先に進みます。Ctrl+C または Esc を使用して手動で中止できますが、関数でそれを行うにはどうすればよいですか。pr_fun がサーバー セッションで ch_fun を呼び出し、すぐにそのリターンに進むようにします。