2017-08-09 1 views
2

私はAPIのドキュメントを読んでいました。そこにはStopExecutionというアクションがあります。AWSステップ関数で停止して実行するとどうなりますか?

https://docs.aws.amazon.com/step-functions/latest/apireference/API_StopExecution.html

私はそれが何を思っていました。はい、もちろん、実行を停止しますが、タスクが実行中の場合はどうなりますか?それはSWFのようにタスクを停止する信号を送信しますか?またはTaskTokenを取り消して(タスクが結果を返すことができないように)、実行したままにしますか?タスクがラムダ関数の場合も同じことが起こりますか?

長時間実行しているタスクがあり、どこにでもこの動作が記録されていないため、私はこれについて考えていました。

私の推測:それは単に実行を停止として通知し、タスクを実行したままにします。タスクがSendTaskSuccessを呼び出すと、InvalidTokenのようなエラーが発生します。

+0

私もこの質問に対する答えを知りたいと思います。あなたが答えを見つけたら更新してください。ありがとう。 – EthanTowne

答えて

1

私はテストを行い、SFNは実行中のタスクを停止することは絶対に何もないことが判明しました。ただし、停止した実行でSendTaskHeartbeatを実行しようとすると、TaskTimedOutエラーがスローされます。

私がやったことは、SendTaskHeartbeatの出力を確認し、TaskTimedOutをキャッチし、作業者側でタスクキャンセルを続行することでした。

注:SendTaskSuccess/SendTaskFailureで同じTaskTimedOutエラーが発生します。

+0

こんにちは、とても面白いです。私はあなたが知っているかもしれないステップ関数に関する質問を投稿しました。助けをお待ちしています。 https://stackoverflow.com/questions/48631220/aws-step-functions-with-multiple-executions – VAAA

関連する問題