私は大きなデータセットと電子メールの結果を処理するShinyサーバーに取り組んでいます。結果を計算して郵送するコードを書いていますが、受信した順に各送信を処理するキューイングシステムを実装したいと考えています。R光沢のあるキュー
私はここで説明するキューのクラスを利用する予定の:http://www.r-bloggers.com/implementing-a-queue-as-a-reference-class/
現在私たちの流れは次のように動作します。
- 人になる入力CSVファイルとその電子メール私たちの光沢のあるアプリの中へ。
- startServerファイルは送信ボタンを監視し、plottingメソッド(plotting.R)を呼び出します。このメソッドはデータをPNGとしてプロットし、ファイル名を返します。
- 返されたファイル名と電子メールは、shinyServerによってデータをメール送信するmailingメソッド(mail.R)に渡されます。
注:メールとプロットの呼び出しは、「local = TRUE」に設定されていないため、グローバル環境にあります。
私の考えはにある:
- StartServerメソッドの外で、まだserver.Rでキューオブジェクト(q)を宣言し、$プッシュ(inputtedData、電子メール)のqを呼び出します。
- そこから、キューオブジェクトはファイルを計算してクライアントに送信するための呼び出しを行い、次のジョブに移動する前に各ジョブが完了するまで待機します。
問題は、私はキュー構造上に新しいデータをプッシュする非同期呼び出しを受け入れるためにキューファイルを許可するかどうかはわかりませんということです。 startServerはセッションごとの環境であると見なしますが、共有キューを実装する際に考慮する必要があります。私は参考のために使用しています
リンク:事前に https://gist.github.com/thesamuel/2450bbee9ef3082e21f68d37b1d40060
おかげで、私は何かを逃した場合、私に知らせてください。