1

私は R/DeployR のプロジェクトに取り組み始めた JS 開発者です。そのため、私の知識は過去数か月で学んだことだけに限定されています。

DeployR Open Edition 7.4.1 に接続しているノードで DeployR Javascript API を使用しています。

私は自分自身とデータ エンジニアの両方が困惑したエラーに対処してきました。これは、大量のデータが渡された場合にのみ発生します (28k 以上の行のデータベース)。

プロセスのログを取得するために Pubnub を統合しました。これが、何が起こっているかの要点であり、解決しようとしている問題です。

プロセス:ノードは、Javascript API を介して、アルゴリズムに対してデータを処理する R スクリプトに要求を行っています。R スクリプトは、for ループを使用して、各アルゴリズムに対してデータを実行します。

問題: 3 番目のループ/アルゴリズムで、deployR は javascript API にエラーを返し、その後、エラーを JSON としてアプリに返します。ただし、スクリプトは引き続き実行され、PubNub で完了ステータスが表示されます。奇妙なことに、Javascript API の .end 関数を呼び出して、期待されるデータ オブジェクトを返します。これは空の応答を返します。そのため、エラーが発生していますが、R スクリプトは引き続き実行されます。

返されたエラー:

{ get: [Function],
  deployr: 
   { response: 
      { success: false,
        call: '/r/project/execute/script',
        errorCode: 403,
        error: '403: Project currently in-use by node_api, call rejected.\n' } } }
4

1 に答える 1

0

いくつかの複雑な問題を解決した後、R スクリプト (かなり複雑なスクリプト) がデータを完了する前に DeployR サーバーが戻ってきたため、その後の呼び出しでプロジェクトを読み込めないことがわかりました。

これは主に、DeployR が実際に処理することを意図していたよりも大規模なアプリを作成したことが原因ですが、PubNub を実装しました。これは、実際のスクリプト自体がいつ完了するかをノード (または任意のフロントエンド) 環境に知らせる類似のウォッチャー機能です。

于 2016-07-20T01:36:55.820 に答える