2017-09-05 5 views
0

私は、.csvファイルをアップロードするユーザーを許可する機能を追加する必要がある - そして、(+データの300行)ファイルを処理...手順は次のとおりです。Queue&Eventsの仕事ですか? CSVのインポートファイルと処理

  1. ユーザーのアップロードが.csvファイルは、S3
  2. .csvファイルの各行は、データベーステーブルに検証およびインポートさに保存され
  3. .csvファイル(+ - 300行)
  4. 個々のPDFレポートが生成さに保存されS3(データベースにインポートされたデータの各行ごとに1つ)。 + 300のPDFレポートが生成され、S3に保存されます。
  5. すべてのPDFを1つのファイルにまとめて保存して、S3に保存します。
  6. ジョブが完了するとユーザーに通知されます(ジップをダウンロードできます)。あなたの経験で は、どのようなサードパーティのサービスを使用すると、(AWSが提供するもの以外の)問題外だった場合、私は傾いてい

...後にこれを達成するための最も効率的な方法だろう。 csvファイルがアップロードされてS3に保存され、他のすべてのタスクがキューに入れられ、ジョブが完全に完了したら電子メールが送信されます。どのようにこれらすべてを処理することができます。ユーザーはcsvファイルをアップロードしてプロセスを開始するだけで、ジョブが完了したら気づくはずです。

フィードバックは非常に高く評価されています。

ありがとうございました。

+0

ここでは高い作業仕事が高いようです。あなたは料金を払って無料で済ませたいと思っています。少なくともあなたは試してみてください。それは広すぎます。 – C2486

+0

@ user2486、私はそれを行う最善の方法を尋ねています。とにかくコードを要求していません。 – Harshitha

+0

あなたは基本的にあなた自身の質問に答えました。ジョブキューは、Laravel Horizo​​nが利用できるようになった今、特に進んでいく方法です。あなたは電子メール/余裕とそのような/ Webソケット(Laravelエコー)でクライアントに通知することができます... – peterm

答えて

1

AWSには、このような状況に適したツールがいくつかあります。まず、AWS LambdaでS3バケットトリガーを使用する必要があります。ファイルのアップロード時にコードを実行します。そこから、すべての作業を行うか、またはSQSまたは他のメッセージングソリューションを使用して、並行して処理されるメッセージをファンアウトすることができます。必要に応じて、これらの各タスクを別々のプロセスを使用してzipファイルにまとめて、SNSまたはSESを使用して電子メール、SMS、またはプッシュ通知を送信することができます。

AWS SWFとステップファンクションの両方を使用して、すべてのステップとワークフローを調整することができます。

関連する問題