2016-03-24 13 views
0

Deciderを持っているケースをシミュレートしようとしていて、メンテナンスや更新のためにダウンしています。私はラムダに移動するだけです)。とにかく、私が決定者をシャットダウンすると、(SWFコンソールを使用して)実行を開始し、次にDecision *イベントを受け取ったことのない私の決定者を開始することに気付いています。それは永遠に失われるようなものです。SWF Deciderが開始された後にワークフローが送信されないDecisionイベント

私の推測では、明らかなものがありません。私は

http://boto3.readthedocs.org/en/latest/reference/services/swf.html#SWF.Client.poll_for_decision_task

私はそれがオンラインになったときサイダーで見られていないすべての以前の実行を得るために服用しなければならない他のいくつかの最初のステップがありますpoll_for_decision_taskにboto3使用していますか?

BONUS問題:たまに

、私はサイダーを実行している、そしてそれは、決定タスクのポーリングだ、と私はAWSコンソールからのタスクを送信しても、決定者がトリガされることはありません。

BONUSボーナス問題: サイダーが実行イベントを取得している、そしてそれはStartTimerを行う場合は、TimerFiredイベントをStartTimerがスケジュールされた後、私はサイダーを終了し、その後、私はサイダーを再起動した場合、10秒のために言いますしかし、決して来ません。

両方のボーナスケースでは、get_workflow_execution_historyに実行が表示されます。 (http://boto3.readthedocs.org/en/latest/reference/services/swf.html#SWF.Client.get_workflow_execution_history

答えて

0

懸念事項が空いている場合は、複数の判定器を実行しないでください。意思決定タスクがスケジュールされると、SWFは一度しか使用できないことを保証します。

これまでに意思決定に欠けていることはありません。私はしばしば、再開された決定者が決定(60秒まで)を拾うのに時間がかかることがあり、「scheduleToStartTimeout」が60秒未満だった場合、決定者がそれを取得する前にタイムアウトになることがあります。

ボーナス問題:多くのことがありますが、taskListの名前が一致しないか、それを受け取るためのdeciderの遅延がタイムアウトを引き起こす可能性があります。

関連する問題