問題タブ [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 - AWS SWF アクティビティのループから抜け出す
SWF アクティビティで永久ループを実行しています。Web クローラーが Web サイト www.example1.com をクロールしているとします。ただし、クロールが完了するまで待ちたくありませんが、特定の時点でアクティビティを終了し、代わりにクロール Web サイト www.example2.com に切り替えたいと考えています。
「try-cancel」、「terminate」、workflow-id によるワークフローを使用しようとしました。AWS コンソールでタスクが終了したことを示すために SWF にシグナルを送信しているように見えますが、ワーカーのアクティビティ プロセスはまだ実行中です。
これに対する解決策はありますか?
amazon-web-services - シンプルワークフローサービスのタイマーを開始・解除するには?
x 分後に SWF でアクティビティを呼び出す必要があるという要件があります。このために、SWF でタイマーを (x 分間) 開始し、タイマーが起動したときにアクティビティを呼び出すことを計画しています。SWF でタイマーを開始する方法を教えてください。もう 1 つの要件は、完全な期間を待つ必要がない場合に、タイマーもキャンセルする必要がある場合があることです。SWF で開始されたタイマーをキャンセルする方法はありますか? 必要な API を教えてもらえますか?
ありがとう!
amazon-emr - AWS SWF の使用上の問題
私は Amazon のシンプルなワークフロー サービスを初めて使用します。EMR で swf ワークフローを実行する方法はありますか。AWS CLI のセットアップがあり、hadoop をブートストラップしてクラスターを起動できます。これに関する十分なドキュメントが見つからず、Web 上のソースもありません。AWS CLI の代わりに SWF を使用して EMR クラスターを起動できるという変更はありますか? ありがとう。
java - アクティビティの個別のタスクリスト - AWS SWF
システムに 10 個のワーカー スレッドが必要なユース ケースがあります。このうち、6 つのワーカー スレッドが 1 つのタスク リストにポーリングし、4 つのワーカー スレッドが別のタスク リストにポーリングする必要があります。
Flow Frameworkでこのようにコードを構成しました。
アクティビティの 1 つが別のタスク リストに登録されています。他のすべてのアクティビティをデフォルトのタスク リストに追加します。デフォルトのタスク リストをリッスンする 6 つのワーカー スレッドと、他のタスク リストをリッスンする残りの 4 つのワーカー スレッドがあります。
ただし、ワークフローを実行すると、次のエラーが表示されます。
タスク リスト名: CIMSProposalActivityValidationTList
ID : 29547@ccs-master-1001.vdc.xyz.com
詳細: ["java.lang.IllegalStateException",{"cause":null,"stackTrace":[{"methodName":"current","fileName":"AsyncContextBase.java","lineNumber":27,"className" :"com.amazonaws.services.simpleworkflow.flow.core.AsyncContextBase","nativeMethod":false},{"methodName":"","fileName":"AsyncContextBase.java","lineNumber":49,"className ":"com.amazonaws.services.simpleworkflow.flow.core.AsyncContextBase","nativeMethod":false},{"methodName":"","fileName":"TryCatchFinallyContext.java","lineNumber":46," className":"com.amazonaws.services.simpleworkflow.flow.core.TryCatchFinallyContext","nativeMethod":false},{"methodName":"","fileName":"TryCatchFinally.java","lineNumber":233,"className":"com.amazonaws.services.simpleworkflow.flow.core.TryCatchFinally","nativeMethod" :false},{"methodName":"","fileName":"TryCatch.java","lineNumber":22,"className":"com.amazonaws.services.simpleworkflow.flow.core.TryCatch","nativeMethod ":false},{"methodName":"","fileName":"GrooveScheduleAspect.java","lineNumber":93,"className":"com.amazon.transportation.groove.aspectj.GrooveScheduleAspect$1","nativeMethod ":false},{"methodName":"processGrooveSchedule","fileName":"GrooveScheduleAspect.java","lineNumber":93,"className":"com.amazon.transportation.groove.aspectj.GrooveScheduleAspect","nativeMethod":false},{"methodName":"validate","fileName":"ValidationActivitiesImpl.java", "lineNumber":23,"className":"com.amazon.cimsworkflow.activities.impl.ValidationActivitiesImpl","nativeMethod":false},{"methodName":"invoke0","fileName":"NativeMethodAccessorImpl.java", "lineNumber":-2,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":true},{"methodName":"invoke","fileName":"NativeMethodAccessorImpl.java","lineNumber":57 ,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":false},{"methodName":"invoke","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"className":"sun.reflect.DelegatingMethodAccessorImpl","nativeMethod":false} ,{"methodName":"invoke","fileName":"Method.java","lineNumber":606,"className":"java.lang.reflect.Method","nativeMethod":false},{"methodName ":"execute","fileName":"POJOActivityImplementation.java","lineNumber":63,"className":"com.amazonaws.services.simpleworkflow.flow.pojo.POJOActivityImplementation","nativeMethod":false},{ "methodName":"execute","fileName":"ActivityImplementationBase.java","lineNumber":46,"className":"com.amazonaws.services.simpleworkflow.flow.generic.ActivityImplementationBase","nativeMethod":false},{"methodName":"execute","fileName":" SynchronousActivityTaskPoller.java","lineNumber":196,"className":"com.amazonaws.services.simpleworkflow.flow.worker.SynchronousActivityTaskPoller","nativeMethod":false},{"methodName":"run","fileName" :"ActivityTaskPoller.java","lineNumber":97,"className":"com.amazonaws.services.simpleworkflow.flow.worker.ActivityTaskPoller$1","nativeMethod":false},{"methodName":"runWorker", "fileName":"ThreadPoolExecutor.java","lineNumber":1145,"className":"java.util.concurrent.ThreadPoolExecutor","nativeMethod":false},{"methodName":"run","fileName":"ThreadPoolExecutor.java","lineNumber":615,"className": "java.util.concurrent.ThreadPoolExecutor$Worker","nativeMethod":false},{"methodName":"run","fileName":"Thread.java","lineNumber":744,"className":"java .lang.Thread","nativeMethod":false}],"message":"AsyncScope.doAsync() メソッド外で非同期コードを実行しようとしています","localizedMessage":"AsyncScope.doAsync() 外で非同期コードを実行しようとしています) method","suppressed":["[Ljava.lang.Throwable;",[]]}]"java.util.concurrent.ThreadPoolExecutor","nativeMethod":false},{"methodName":"run","fileName":"ThreadPoolExecutor.java","lineNumber":615,"className":"java.util .concurrent.ThreadPoolExecutor$Worker","nativeMethod":false},{"methodName":"run","fileName":"Thread.java","lineNumber":744,"className":"java.lang.Thread ","nativeMethod":false}],"メッセージ":"AsyncScope.doAsync() メソッドの外部で非同期コードを実行しようとしています","localizedMessage":"AsyncScope.doAsync() メソッドの外部で非同期コードを実行しようとしています", "抑制":["[Ljava.lang.Throwable;",[]]}]"java.util.concurrent.ThreadPoolExecutor","nativeMethod":false},{"methodName":"run","fileName":"ThreadPoolExecutor.java","lineNumber":615,"className":"java.util .concurrent.ThreadPoolExecutor$Worker","nativeMethod":false},{"methodName":"run","fileName":"Thread.java","lineNumber":744,"className":"java.lang.Thread ","nativeMethod":false}],"メッセージ":"AsyncScope.doAsync() メソッドの外部で非同期コードを実行しようとしています","localizedMessage":"AsyncScope.doAsync() メソッドの外部で非同期コードを実行しようとしています", "抑制":["[Ljava.lang.Throwable;",[]]}],"nativeMethod":false},{"methodName":"run","fileName":"ThreadPoolExecutor.java","lineNumber":615,"className":"java.util.concurrent.ThreadPoolExecutor$Worker"," nativeMethod":false},{"methodName":"run","fileName":"Thread.java","lineNumber":744,"className":"java.lang.Thread","nativeMethod":false}] ,"message":"AsyncScope.doAsync() メソッド外で非同期コードを実行しようとしています","localizedMessage":"AsyncScope.doAsync() メソッド外で非同期コードを実行しようとしています","suppressed":["[Ljava. lang.Throwable;",[]]}],"nativeMethod":false},{"methodName":"run","fileName":"ThreadPoolExecutor.java","lineNumber":615,"className":"java.util.concurrent.ThreadPoolExecutor$Worker"," nativeMethod":false},{"methodName":"run","fileName":"Thread.java","lineNumber":744,"className":"java.lang.Thread","nativeMethod":false}] ,"message":"AsyncScope.doAsync() メソッド外で非同期コードを実行しようとしています","localizedMessage":"AsyncScope.doAsync() メソッド外で非同期コードを実行しようとしています","suppressed":["[Ljava. lang.Throwable;",[]]}]"ThreadPoolExecutor.java","lineNumber":615,"className":"java.util.concurrent.ThreadPoolExecutor$Worker","nativeMethod":false},{"methodName":"run","fileName":"スレッド.java","lineNumber":744,"className":"java.lang.Thread","nativeMethod":false}],"message":"AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています", "localizedMessage":"AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています","suppressed":["[Ljava.lang.Throwable;",[]]}]"ThreadPoolExecutor.java","lineNumber":615,"className":"java.util.concurrent.ThreadPoolExecutor$Worker","nativeMethod":false},{"methodName":"run","fileName":"スレッド.java","lineNumber":744,"className":"java.lang.Thread","nativeMethod":false}],"message":"AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています", "localizedMessage":"AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています","suppressed":["[Ljava.lang.Throwable;",[]]}]methodName":"run","fileName":"Thread.java","lineNumber":744,"className":"java.lang.Thread","nativeMethod":false}],"message":"試行AsyncScope.doAsync() メソッドの外で非同期コードを実行する","localizedMessage":"AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています","suppressed":["[Ljava.lang.Throwable;",[] ]}]methodName":"run","fileName":"Thread.java","lineNumber":744,"className":"java.lang.Thread","nativeMethod":false}],"message":"試行AsyncScope.doAsync() メソッドの外で非同期コードを実行する","localizedMessage":"AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています","suppressed":["[Ljava.lang.Throwable;",[] ]}]AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています","suppressed":["[Ljava.lang.Throwable;",[]]}]AsyncScope.doAsync() メソッドの外で非同期コードを実行しようとしています","suppressed":["[Ljava.lang.Throwable;",[]]}]
理由:
- AsyncScope.doAsync() メソッドの外部で非同期コードを実行しようとしています
私のタスクリストは、私が作成した新しいものです。スレも予想通り。しかし、私はこのエラーが発生しています。これを解決する方法についてのリード。返信してください
amazon-web-services - AWS Java SDK を使用してプライベートサブネットを作成する方法
vpc にサブネットを作成できます。しかし、それはパブリックサブネットです。ただし、VPC に関連付けられたプライベートサブネットを作成したいと考えています。どうすればそれを達成できますか。ありがとう。
プライベート静的サブネット createSubnet(AmazonEC2 ec2、文字列 vpcId、文字列 az、文字列 subnetACidrBlock)
}
amazon-web-services - AWS SWF を使用した分散アーキテクチャでのアクティビティ管理
2 つのサーバー (EC2 インスタンス) があります。1 つのサーバー (サーバー 1) には 3 つのバッチがあり、別のサーバー (サーバー 2) には 4 つのバッチがあります。ここで、サーバー 2 のバッチの 1 つは、サーバー 1 でバッチが正常に実行された後にのみ実行する必要があります。
更新しました
どのサーバーのどのアクティビティでも、カスタム例外をスローできます。ただし、別のサーバーのアクティビティによって例外がスローされたために、サーバーでのアクティビティの実行をキャンセルしないでください。サーバー内のアクティビティは、それ自体のサーバー内のアクティビティの 1 つが例外をスローした場合にのみキャンセルする必要があります。(依存しているアクティビティが失敗するか例外をスローした場合、依存するアクティビティはサーバーに関係なく取り消される必要があります)。このために私がしたことは、それを 2 つの別々の try catch ブロックにラップすることです。
サーバー 1 とサーバー 2 の両方のアクティビティが例外をスローするか失敗した場合、ワークフローの実行を終了する方法は?