問題タブ [amazon-swf]
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.
user-interface - AWS SWF で、ユーザー インターフェイス (html css js) を公開する良い方法は何ですか?
まず、申し訳ありませんが、私は AWS でアプリケーションの開発を始めたばかりで、あなたにとっては簡単かもしれませんが、私にとっては簡単ではない質問があります... しかし、SWF での Java Web サイトの Web 統合に関する回答を見つけることは不可能です。 ..
私はSpringフレームワークの新しいユーザーでもあります.Springフレームワークについていくつかのチュートリアルを行う必要があります(または、SWFドキュメントで十分ですか?). しかし、私の質問は、すでに時間を費やしており、私の場合の最善のアプローチは何かを言うことができる人向けです. (なぜ?)
- UI の動的な変更を伴う Web ベースのアプリケーションを作成するための、UI 設計における適切なアプローチは何ですか? (コンテンツ スライド、メニューなど...最もスケーラブルな選択肢)
ビュー (たとえば、Elastic Beanstalk で実行される GWT Web インターフェイス、または適切な MVC PHP フレームワークを使用する CloudFront PHP インターフェイス?) を SWF で実行されるモデルから分離しますか? すべて API によってリンクされています。
または、Flow FrameWork と GWT を使用して完全な Web アプリケーションを作成していますか? (または別のテクノロジーですか?チュートリアルも行う必要がありますが、今のところこれを選択しましたが、新しいDart Googleのソリューションを使用しないのはなぜですか?)
- 効率的に行うための最も簡単な方法は何ですか?
私は SWF の論理的アプローチを理解しており、プロジェクトのすべてのアーキテクチャ (スケーラブルな SWF モデル) を頭の中に持っていますが、プロジェクトに新しいサービスを追加したい場合や、このサービスが既存のサービスのリストを取得したい場合は明らかです。オブジェクト (たとえば、DynamoDB にストックされています) については、このオブジェクトに対して既に行っているため、この情報を簡単に表示したいと思います。
したがって、PHP インターフェース上のモデルのコピーを使用して、このオブジェクトを表示するメソッドを関連付けることができるので、オブジェクトを表示するために PHP プロジェクトを集中させ、PHP でワークフローを開始できると思います (検索および読み取り専用?)。 SWF には、これらの WF を起動する適切なモデルが必要です。それは良いアプローチですか?これを行うのに本当に適した PHP フレームワークはありますか? むしろ、swf 以外の Java UI アプリケーションで行うのですか?
java - amazon シンプルなワークフロー - タスクを並行して処理し、前のステージのすべての並行プロセスが完了した後にのみ次のステージに進む
複数の段階があるアプリの作成に取り組んでいます。最初の段階では、複数のタスクが並行して実行されます...その段階のすべてのタスクが完了すると、処理は次の段階に進む必要があります。
私がディサイダーについて読んだことによると、ディサイダーは次の段階で考えられる多くのオプションの中から 1 つを選択できます。
しかし、現在の段階のすべての並列プロセスが完了したときにのみ、次の段階に進みたいと考えています。
これは、次のステージを呼び出すように各並列プロセスをセットアップする必要があり、次のステージが初期化されたときに、前のステージのすべての並列プロセスが完了してから実際に処理を開始する必要があることを意味しますか? これは、第 1 ステージのすべての並列プロセスが corresp を呼び出すことを意味します。第 2 段階の並列プロセス。そのうちの 1 つだけが実際に処理を行います (これは、前段階のすべてのプロセスが完了したことを検出するプロセスになるため)。
これを実装するより良い方法はありますか?次の段階のプロセスが一度だけ呼び出されるようにするには?
r - 短いタスク用の Amazon EC2 オンデマンド ワーカー
ユーザー向けの確率グラフを生成するために、リソースを大量に消費する MCMC (マルコフ連鎖モンテカルロ) 計算を R でオンデマンドで実行する必要がある Web アプリケーションを構築しようとしています。
制約:
明らかに、Web アプリのフロントエンドと同じサーバーでリソースを集中的に使用する計算を実行したくないため、これらのタスクはワーカー インスタンスに渡す必要があります。
これらの計算の実行にはかなりの量の CPU が必要であり、待ち時間をできるだけ低く (できれば数分ではなく数秒) 維持したいので、より強力なハードウェアで計算を実行することをお勧めします。
強力な EC2 インスタンスを 66¢/時間 x 24 時間/日で実行する余裕はないので、オンデマンドまたはスポット リクエスト インスタンスがおそらく必要です。
私が思いついたオプションは次のとおりです。
Amazon SWF (または SQS) によって管理される、一度に 1 つのタスクを実行する安価で手頃なワーカー インスタンスを 1 日 24 時間実行します。
短所:- 高遅延- 安価なハードウェア、長い待機時間。
- 高遅延- 安価なハードウェア、長い待機時間。
より強力なワーカー インスタンスをタスクごとに生成し (ジョブがキューに追加されるたびにスピンアップ)、完了時にインスタンスを終了します。
短所:- 高価/無駄- 毎回サーバーで 1 時間の料金を支払い、計算には数秒しか使用しません。
- 起動時のオーバーヘッド- 新しい EC2 インスタンスをオンデマンドでスピンアップすると、無視できないほどのレイテンシが発生します (より強力なハードウェアを利用するという目的全体が相殺されます)?
- 高価/無駄- 毎回サーバーで 1 時間の料金を支払い、計算には数秒しか使用しません。
#2 と同様ですが、低入札の EC2 スポット リクエストを使用します。
短所:- 起動時のオーバーヘッド- #2 を参照
- 矛盾?- これまでスポット リクエストを処理したことがないので、そのようなソリューションがどれほど変動的であるか、または実践的であるかはわかりません... ピーク時にタスクを完了できるように、入札単価を継続的に調整する必要がありますか? ? また、計算の途中で中断されないように、プロセスを注意深く監視する必要があると思います。
- 起動時のオーバーヘッド- #2 を参照
強力なハードウェア ワーカー インスタンスとその負荷を積極的に監視し、1 時間ごとにインスタンスをインテリジェントに起動および終了して、コストと可用性の最適なバランスを維持する、ある種のハイブリッド ソリューション
短所:- 複雑でコストのかかるセットアップ- このようなものを処理する優れたマネージド サービスがない限り、そのインフラストラクチャをすべて自分でセットアップする必要があります...
- 複雑でコストのかかるセットアップ- このようなものを処理する優れたマネージド サービスがない限り、そのインフラストラクチャをすべて自分でセットアップする必要があります...
高可用性オンデマンド ハードウェアの料金を、時間単位ではなく分単位で支払うことができるサービスがあればいいのにと思います。
だから私の質問は次のとおりです。
この問題をどのように解決することをお勧めしますか?
Amazon SWF の上位に位置し、負荷分散とアイドル状態のワーカーの終了に役立つ優れた EC2 インスタンス管理ソリューションはありますか?
スポット リクエスト ビッドは私の問題を解決しますか? それとも、必ずしもすぐに完了する必要のないタスクにより適していますか?
java - AmazonSWF初心者-1つのワークフローループの実行を開始する方法
フローフレームワーク(つまりJava)を使用したAmazon SWFで利用可能なサンプルを調べていました。サンプルには、ワークフローの実行を開始する「メイン」を持つクラスが1つあることに気付きました。また、「メイン」を持つ他の同様のクラスもあります。ワークフローワーカーとアクティビティワーカー(つまり、ワークフローホストとアクティビティホスト)を開始します。
これは、ワークフローを実行するために、3つのクラスすべての実行コードをvoidメインに配置する必要があることを意味しますか?つまり、ワークフローホスト、アクティビティホストを開始し、自分でワークフローを開始する必要がありますか?または、WorkFlowHostクラスとActivityHostクラスを指定された形式で定義してから、ワークフロークライアントファクトリを使用してワークフローを開始する必要がありますか?
amazon-swf - AWS SimpleWorkflowServiceを使用した再帰
私は簡単な非同期メソッドを持っています:
これは、私の特定の要件が実行可能かどうかを確認するために私が行っていることです。基本的に、特定のアクションをバッチで実行し、各バッチのメンバーを並行して実行する必要があります。私は本質的に別の活動をしています(別のクラスで):
私が得る出力は次のとおりです(私は100でdoSomethingと呼びます):
その後、ワークフローの実行が失敗し、アクティビティが見つからなかったことを示すエラーが表示されます。なぜ見つからなかったのですか?それは最初の実行でどのように見つかりましたか?
amazon-swf - Amazon SWF で異なる引数を使用して同じアクティビティをスケジュールする
Amazon SWF でアクティビティをスケジュールしようとしています。最初は、リストをループして、リストの値ごとにアクティビティをスケジュールしていました。しかし、これは、私が望んでいないアクティビティを並行して呼び出すことになります。そこで、コードを次のように変更しました。
コードは機能していますが、これが正しい方法かどうかはわかりません。どんなコメントも役に立ちます。
php - Amazon SWF:最後のSWFイベントタイプがDecisionTaskCompletedの場合、Deciderがスタックします
単純なDeciderpollForDecisionTaskループを実行しています。ただし、AmazonSWFの最後のイベントタイプがDecisionTaskCompletedの場合はスタックします。つまり、応答は問題ありませんが、taskTokenは空です!! 手がかりはありますか?taskListとドメイン名を再確認しましたが、何も機能しませんでした。
java - Amazon SWF @シグナル
Amazon SWF ワークフローのアクティビティ内から @Signal 関数を呼び出す方法はありますか。一部の処理が完了し、その処理のサブセットの子ワークフローを生成する必要があることをワークフローに通知できるようにしたいと考えています。これはどのように行われますか?
amazon-swf - 長時間実行されるビジネス ワークフローのための Amazon SWF
分散ワークフロー システムを構築するためのオプションとして、Amazon SWF を評価しています。主な言語は Java になるため、Flow フレームワークは当然の選択です。私を困惑させ続けていることが 1 つだけあります。それをアーキテクチャの重要なコンポーネントとして推奨する前に、他の意見をいくつか得たいと思います。
例はすべて、決定論的で比較的短い時間 (つまり、数分後) の後に結果を生成するタスクに関するものです。実際のビジネス ワークフローでは、問題は異なって見えます。ここでは、完了までに数週間かかる可能性があるタスクがあります。私はすでに計算機をチェックしましたが、30 日ほど存続するワークフローはコストの爆発につながらないため、その可能性はすでに考慮されているようです。
このようなシナリオで SWF を使用した経験を共有できる人はいますか? このようなワークフローを設計するための推奨事項やベスト プラクティスはありますか? フローはここで正しい選択ですか?
アクティビティの実装は最終的に同期的に値を返すことが期待されているように思えますが、長時間実行されるトランザクションの場合は、メッセージを使用してワーカーの結果を非同期的に送り返すことをお勧めします。
役立つフィードバックをお待ちしております。
amazon-web-services - AWS Elastic Beanstalk - SWF バックグラウンド ワーカーの開始
AWS Elastic Beanstalk で PHP を使用してバックグラウンド ジョブを実行する最良の方法を見つけようとしてきました。Google と SO で何時間も検索した結果、SWF とアクティビティ ワーカーを使用することが 1 つの良い解決策であると考えています。
この例が aws-sdk-for-php に埋もれているのを見つけました: https://github.com/amazonwebservices/aws-sdk-for-php/tree/master/_samples/AmazonSimpleWorkflow/cron
read-me ファイルには次のように書かれています。
このサンプルを実行するには、別のターミナル/コンソール ウィンドウでコマンド ラインから 3 つのスクリプトを実行する必要があります。
と
start_cron_example_workflow.php スクリプトはすぐに終了しますが、ディサイダー スクリプトとアクティビティ ワーカー スクリプトは手動で終了するまで実行を続けます。
ディサイダーとアクティビティワーカーは「永久に」ループし、これらを EB で実行しようとすると、私が問題を抱えています。
私の .ebextensions ディレクトリには、これらのファイルを実行するファイルがあります。
しかし、次のエラー メッセージが表示されます。
エラー
アプリケーション バージョンのデプロイに失敗しました。
エラー 一部のインスタンスがコマンドに応答しませんでした。[i-a5417ed4] からの応答はありませんでした。
構成ファイルを使用してこれを行う方法はありますか? 単一障害点を導入せずに AWS EB でこれを機能させるにはどうすればよいですか?
ありがとうございました。