2017-03-09 21 views
0

私はいくつかのRスクリプトと対話するべきWebアプリケーションを開発しています。私はopenCPUを非常に使いたいと思います。しかし、Rスクリプトの呼び出しや結果の取得の他に、他のAJAXリクエストを行う方法があるかどうかはわかりません。OpenCPUサーバのリクエスト

私はRスクリプトの説明とそれが実行時にサーバーへの要求によって実行されるように変更できるその他のものを送る必要があります。

これが可能かどうか簡単に説明できる人がいれば、とても感謝しています。

+0

javascriptクライアントとopencpuサーバーの間で提案された「会話」を拡張できますか?例えば、単純なものは ' - > POST/ocpu/library/stats/R/rnorm?n = 1'、' < - "[0.6216]" 'とすることができます。 (私は、それが必ずしも適切ではないことを理解しています。) – r2evans

+0

おそらくばかげた質問ですが、[OpenCPU API](https://www.opencpu.org/api.html)を読んでいますか?引数付きの関数を呼び出すためのメカニズムについて説明します。あなたが説明しているものが各通話に設定されている限り(通話中は変わらない)、あなたは大丈夫です。 – r2evans

答えて

0

Rパッケージ自体の定義として機能するDESCRIPTIONファイルを意味する更新記述を言うと仮定しています。これまたはRスクリプトの内容を変更するときは、新しいバージョンをOpen CPUに公開する必要があります。あなたに似ているようだ私の経験から、いくつかの注意事項:

  1. 私はOpenCPUの内部で実行されているスクリプトがOpenCPUパッケージのリストでは使用できないCRANにあるが、パッケージをインストールしたいくつかの問題がありました。 OpenCPUは、devtoolsパッケージにあるinstall_github関数を使ってGithubからパッケージを引き出すことができます。あなたのスクリプトが公開OpenCPUにないR関数を使用している場合は、install.packagesを使って手動でRスクリプトにインストールする必要があります。これは、libraryまたはinstall.packagesを呼び出しても機能しない場合に役立ちます。

    library('devtools') 
    
    install.packages("BIOMASS", repos = "https://cran.opencpu.org", method = "libcurl") 
    library("BIOMASS") 
    

公共OpenCPUにインストールされているパッケージの一覧がhereであるあなたがCRAN上で利用可能である別のパッケージを使用している場合は、Rパッケージであなたの輸入セクションの依存関係として追加する必要があります。 DESCRIPTIONファイル。名前空間を使用して、スクリプト内でPACKAGENAME :: FUNCTIONNAMEを使用する必要がなくなります。

  1. パブリックOpenCPUにパブリッシュする場合は、パッケージonce every 24 hoursのみをアップデートできます。
  2. 私が参考にしたパイプラインは、私のパッケージを開発し、それを使ってローカルでテストコードを書いて、かなり確信が持てたらgithubリポジトリにプッシュします。ここでは、公共のOpenCPUインスタンスに新しいパッケージを公開するためのwebhook setupがあります。開発環境の設定方法によっては、手動で公開することもできます。たとえば、独自のOpenCPUインスタンスをホストしている場合、公開されているインスタンスではなくインスタンスに公開する方が理にかなっています。
  3. OpenCPU APIドキュメントの関連セクションでは、R Package APIについての説明があります。 server manualには、独自のOpenCPUをホストする場合のパッケージのインストール方法に関するドキュメントもあります。
  4. Meteorを使用している場合、私の経験は、OpenCPUのReSTful/HTTP APIへの直接呼び出しを直接行うことが最善であるということでした。 JavascriptクライアントパッケージはMeteorで動作しませんでした.HTTP APIはうまく動作します。
関連する問題