問題タブ [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.
apache-camel - Camel SWF 統合
camelone 2012 でのセッションは、Amazon Web Services を使用した camel で行われました。特に、単純なワークフローとの統合に関する例がありました。その例のコードまたはこれらの統合に関する同様のコードはどこにありますか? よろしくお願いします F.
python - AmazonSWFを使用してサーバー間で通信する
Amazon SWFを使用してサーバー間でメッセージを通信しますか?
- サーバーAIでスクリプトAを実行したい
- それが終わったら、スクリプトBを実行するためにサーバーBにメッセージを送信したいと思います
- 正常に完了したら、ワークフローキューからジョブをクリアしたい
これを行うためにBotoとSWFを組み合わせて使用する方法を理解するのに非常に苦労しています。私は完全なコードを求めているわけではありませんが、私が求めているのは、関係することについて誰かがもう少し説明できるかどうかです。
- スクリプトAの完了を確認するようにサーバーBに実際に指示するにはどうすればよいですか?
- サーバーAがスクリプトAの完了を取得して、スクリプトBを実行しようとしないようにするにはどうすればよいですか(サーバーBがこれを実行する必要があるため)。
- スクリプトAの完了を実際にSWFに通知するにはどうすればよいですか?あなたは旗ですか、それともメッセージですか、それとも何ですか?
私はこれらすべてについてかなり混乱しています。どのデザインを使うべきですか?
amazon-web-services - Amazon SWF: 少なくとも 1 つのワーカーが実行されている必要がありますが、なぜですか?
AWS Ruby SDK を使用して単純なワークフローとして管理し始めたばかりです。私がすぐに気付いた動作の 1 つは、新しいワークフロー実行を送信する前に、少なくとも 1 つの関連ワーカーと 1 つの関連ディサイダーが実行されている必要があることです。
ワーカーとディサイダーを開始する前に新しいワークフロー実行を送信すると、タイムアウト制限内にある場合でも、タスクが取得されません。どうしてこれなの?HTTP ロング ポーリングがどのように機能するかの説明に基づいて、poll() の呼び出しに到達すると、いずれかのアプリが関連するタスクを受け取ることが期待されます。
ジョブが失敗した後、他のデッドロック状況に遭遇しました (例: ワーカーまたはディサイダーのバグによる、または終了による)。場合によっては、まったく新しいワークフローの実行を再実行したり、開始したりすると、ワークフローの実行がデッドロックすることがあります。最初の決定タスクは、AWS コンソールのワークフロー実行履歴に表示されますが、ディサイダーはそれらを受け取りません。確かに、この問題を確認/テスト ケースに還元するのに苦労していますが、上記の問題に関連していると思われます。これは、およそ 10 ~ 20% の確率で発生します。残りの時間は、すべてが機能します。
他に言及すべき点: 順番に実行される 2 つの別々のアクティビティ タスクに対して、1 つのタスク リストを使用しています。ワーカーとディサイダーの両方が同じタスク リストをポーリングしています。
これが私の労働者です:
編集
AWS フォーラムの別のユーザーは次のようにコメントしています。
原因は、長いポーリング接続のシャットダウンをすぐに認識しない SWF にあると思います。ワーカーを強制終了すると、しばらくの間その接続はサービスによって開かれていると見なされます。そのため、タスクをディスパッチできます。あなたには、新しい労働者がそれを取得していないように見えます。それを確認する方法は、ワークフローの履歴を確認することです。死んだワーカーのホストと pid を含む識別フィールドを持つアクティビティ タスク開始イベントが表示されます。最終的に、そのようなタスクはタイムアウトになり、ディサイダーによって再試行される可能性があります。
このような状態は、接続を頻繁に終了する単体テスト中に一般的であり、実稼働アプリケーションにとって実際には問題ではないことに注意してください。一般的な回避策は、単体テストごとに異なるタスク リストを使用することです。
これはかなり合理的な説明のようです。これを確認してみます。
amazon-web-services - AWS Flow Framework に相当するオープンソース
そこには多くのワークフローシステムがありますが、AWS Flow Framework (Amazon SWF のような機能が組み込まれている) に最も近いオープンソースのワークフロー管理システムはどれでしょうか?
amazon-web-services - シーケンシャル アクティビティの AWS SWF グッド プラクティス
私は AWS SWF の初心者です。まだ学習とドキュメント処理の段階です。ばかげた質問を思いつくだけです。シーケンシャル ワークフローのユース ケースでは、ディサイダーによって順番に実行される一連のアクティビティを定義する代わりに、すべての実装を大きなアクティビティに入れるだけでよいでしょうか? ワークフローの各タスクは $0.000..25 で請求されるため、この方法では大規模な場合により多くの費用を節約できます。
この種のユース ケースでは、保証されたシーケンシャル ワークフロー実行で一連の小さなアクティビティを宣言する正当な理由は何ですか?
amazon-web-services - Amazon SWF にワークフロー ID しかない場合、WorkflowExecution の状態を取得するにはどうすればよいですか?
実行状態を取得するためのすべての SWF 操作には、(ワークフロー実行への参照) も常に必要runId
なようで、それを保存したくありません。workflowId
私は(自分のIDではなく、私のID)のみに基づいてルックアップを実行できるようにしたいと考えています。そのようなことはまったく可能ですか?
つまり、タグを追加してタグで取得することもできると思いますが、すでに も渡していると、少し厄介に思えworkflowId
ます。
amazon-web-services - ローカル テスト用のシンプルなワークフロー SWF
テストおよび開発目的でローカルで実行できる AWS (アマゾン ウェブ サービス) SWF (シンプル ワークフロー) サービスを探しています。利用可能なものは見たことがありませんが、SWF クローンを構築するために必要な基本コンポーネントとして AWS SQS のサブセットを実装するElasticMQを認識しています。また、出発点としてApache ActiveMQも調べました。
SWF を使用したアプリケーションのローカル テストおよび開発に使用できるローカル サービスを知っている人はいますか? 残りのほとんどの要件 (S3、EC2、IAM など) に対応する Eucalyptus 3.3 インスタンスが既にあります。