問題タブ [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.
amazon-web-services - 内部で Amazon SWF を使用するには?
私の PC で Amazon SWF 開発を試してみたいと思います。しかし、Amazon Simple Workflow を利用するには、Amazon AWS クラウドに登録する必要があるようです。私が必要としているのは、Amazon がホストするサービス (または認証) を必要とせずに、すべての Amazon のものを単一のマシンで実行することです。
Amazon Simple Workflow Service のドキュメントはこちらです。
助けていただけますか?
java - AspectJ AWS アクティビティの生成に失敗する
現在、AspectJ を使用して、AWS アクティビティのクライアント実装コードを生成しています。これは通常、ワークフローとアクティビティの両方で非常にうまく機能しています。
このコード生成にのみ使用しているため、AspectJについてはあまり知りません。
ただし、アクティビティから配列を返したいという点に達しました。これにより、そのアクティビティ クラスがクライアント実装を生成できなくなります (一部のワークフロー コードの生成も妨げられますが、これは副作用だと思います)。配列をリストに変換すると(テストのポイントのみ)、すべてが再び機能するようになります。配列をアクティビティに渡すだけで問題はありませんでした。
構造を明らかにする。アクティビティを定義するインターフェースと、実装を実行する実装クラスがあります...それほどクレイジーなことはありません。
壊れた:
作品:
私が見る限り、AspectJ のコンパイル エラーは見られませんが、実際にコンソールを見ているだけです。
私が見つけた唯一のログは、生成が完了したことを示していますが、生成されたファイルの総数が異なることを報告しています (壊れているため、予想どおり)。
壊れた:
働く:
ログが私に何かを教えてくれるとは確信していませんが、他の誰かにとって何かを意味するかもしれないと思いました.
アクティビティが int[] のようなプリミティブを受け取るとき、それらをリストに直接変換することはできません。これは、すべてのアクティビティの単なるオーバーヘッドです。
アドバイスをいただければ幸いです。
amazon-web-services - AWS SWF のアクティビティ ID とは何ですか?
AWS SWF でアクティビティをスケジュールするときは、アクティビティ ID を提供する必要があります。
この ID の意味と範囲は何ですか? ワークフローの呼び出しごとに一意にする必要がありますか? それとも、私自身の情報提供のみを目的としていますか?
java - 信号がアクティビティを開始するのを待ちます (Amazon ワークフロー)
AWS が提供する Java フロー フレームワークを使用してワークフローを構築しました。4 つのアクティビティを作成しました。最初のアクティビティーは、シグナルが開始されるのを待ちます。次に、すべてのアクティビティが Promise<> オブジェクトを使用して同期的に実行されます。ワークフローの実装コードは次のとおりです。
ここでアクティビティ Upload は、オブジェクトの結果が準備完了状態になるのを待ちます。したがって、ワークフローにシグナルを送ると、メソッド signal1 が開始され、オブジェクトが準備完了状態になります。しかし、ワークフローに信号を送るとすぐに、ワークフローの実行が失敗します。
ワークフローを通知するために nodejs aws api を使用しています。以下は同じコードです-
そして、AWS ワークフロー イベント コンソールに表示されている実行失敗のエラーは次のとおりです。
誰でもこのエラーで私を助けてくれませんか、よろしくお願いします。
java - AWS SWF フローでは、アクティビティの開始から終了までのタイムアウトにアクティビティの再試行が含まれますか?
Java のフロー フレームワークを使用して SWF アクティビティの 1 つを設定しようとしていますが、StartToClose タイムアウトが 1 回のアクティビティ試行のみに適用されるのか、そのアクティビティのすべての再試行に適用されるのかについてのドキュメントが見つかりません。
私のアクティビティの構成は次のとおりです。
非常に短い実行時間 (例: 5 秒) が予想されるこのアクティビティを取得しようとしていますが、アクティビティが失敗した場合は、アクティビティを 2 時間再試行し続けます。
- この構成は私が望むことを行いますか?
- defaultTaskStartToCloseTimeoutSeconds を 7200 に変更する必要がありますか?
- defaultTaskStartToCloseTimeoutSeconds を 7200 に変更する必要がある場合、1 回のアクティビティ試行の実行が「長すぎる」場合 (例: 100 秒)、アクティビティを失敗させるにはどうすればよいですか?
java - オブジェクトの配列リストを AWS SWF の Promise に渡す方法は?
私は従業員クラスを持っています。私のワークフローでは、Employees の配列を promise オブジェクトに渡したいと考えています。オブジェクトの配列を渡しているときに、シリアル化解除エラーが発生します。親切に助けてください。
java - Amazon SWF でダウンストリーム サービスの TPS を制限する
Amazon SWF を使用してワークフローを作成していて、ダウンストリーム サービスで TPS を制御する方法を考えていました。
並行して実行される複数の子ワークフローを開始する親ワークフローがあります。
私の子ワークフローは、いくつかのダウンストリーム サービス (それぞれが異なるアクティビティ内) を呼び出します。
- ダウンストリーム サービス 1 を呼び出します。成功した場合は続行し、失敗した場合は終了します
- ダウンストリーム サービス 2 を呼び出します。成功した場合は続行し、失敗した場合は終了します
- 等
ダウンストリーム サービスの TPS を個別に管理できるようにしたいと考えています。
ダウンストリーム サービスで TPS を制限するにはどうすればよいですか? たとえば、理想的には、ダウンストリーム サービス 1 に 100 の最大 TPS が必要であると言えます。非同時コンテキストでは、Guava RateLimiter のようなものを使用できますが、これは複数のホストで実行されます。特定のアクティビティのインスタンスを一度に 100 個だけ実行するように指定できますか? フロー フレームワークでそのための注釈を見つけることができませんでした (フロー フレームワークと Spring を使用しています)。必要に応じて、子ワークフローを個別のワークフローに分割し、親ワークフローで各子ワークフローを次々と呼び出すようにします。
子ワークフロー:
次に、上記が正常に完了すると、親ワークフローは依存サービス 2 を呼び出す次の子ワークフローを呼び出します。失敗すると、親ワークフローは終了します。
特定の依存サービス ワークフローまたは特定のアクティビティのインスタンス数に同時実行制限を設定することは可能ですか? これはタスクリストの良い/潜在的な使用法ですか? ワーカー ホストの数によって TPS を制御できますか?
ご提案ありがとうございます。