長時間かかるフローを実行すると再度同じフローが実行される
【参考】
この仕様は、Asteria Warpのバージョン2212で実装されたものです。
処理が長時間かかるフローをフローデザイナーで実行すると、同じフローが再度実行されることがあります。
この場合は、フローデザイナーの実行画面に以下のようなログが出力されます。
| フローデザイナー上に出力されるログ |
|---|
Error parsing HTTP status line "": java.util.NoSuchElementException |
com.infoteria.asteria.flowengine2.client.FlowClientException: Error |
parsing HTTP status line "": java.util.NoSuchElementException |
at |
com.infoteria.asteria.flowengine2.client.FlowExecuteClient.execute(FlowExecuteClient.java:186) |
at |
com.infoteria.asteria.flowbuilder2.server.ServerFlowExecuter.execute(ServerFlowExecuter.java:25) |
at |
com.infoteria.asteria.flowbuilder2.execute.ExecuteDialog$7.run(ExecuteDialog.java:345) |
com.infoteria.asteria.communication.client.AsteriaClientException: |
Error parsing HTTP status line "": java.util.NoSuchElementException |
at |
com.infoteria.asteria.communication.client.AsteriaClient.invoke(AsteriaClient.java:377) |
at |
com.infoteria.asteria.communication.client.AsteriaClient.issueCommand(AsteriaClient.java:333) |
at |
com.infoteria.asteria.flowengine2.client.FlowExecuteClient.execute(FlowExecuteClient.java:184) |
at |
com.infoteria.asteria.flowbuilder2.server.ServerFlowExecuter.execute(ServerFlowExecuter.java:25) |
at |
com.infoteria.asteria.flowbuilder2.execute.ExecuteDialog$7.run(ExecuteDialog.java:345) |
ASOAPException: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error |
parsing HTTP status line "": java.util.NoSuchElementException; |
targetException=java.lang.IllegalArgumentException: Error parsing HTTP |
status line "": java.util.NoSuchElementException] |
at |
com.infoteria.asteria.soap.SOAPClient.invokeMethodArray(SOAPClient.java:521) |
at |
com.infoteria.asteria.communication.client.AsteriaClient.invoke(AsteriaClient.java:375) |
at |
com.infoteria.asteria.communication.client.AsteriaClient.issueCommand(AsteriaClient.java:333) |
at |
com.infoteria.asteria.flowengine2.client.FlowExecuteClient.execute(FlowExecuteClient.java:184) |
at |
com.infoteria.asteria.flowbuilder2.server.ServerFlowExecuter.execute(ServerFlowExecuter.java:25) |
at |
com.infoteria.asteria.flowbuilder2.execute.ExecuteDialog$7.run(ExecuteDialog.java:345) |
本サービスの仕様では、フローの実行リクエストを送信してレスポンスを待っている間に通信エラーが発生した場合に、同じフローの実行を3回までリトライします。
リトライしないよう変更することはできませんが、以下の方法でリトライを回避できます。
フローのタイムアウト値を短く設定する
処理が長時間かかるフローを実行する場合は、フローのタイムアウト値を短く設定してください。
タイムアウト時間は、クライアント(フローデザイナー)の待ち時間の設定であり、タイムアウト時間を過ぎてもフローの実行は継続されます。
なお、この場合、フローデザイナーではフロー実行の結果を表示できません。
フローの実行が正常に終了したかどうかは、フローサービス管理コンソールでログを表示して確認できます。
スケジュール実行を利用する
スタンダード以上のエディションの場合は、タイマーコンポーネントで以下を設定することで、起動用フローから任意のフローを即時に実行できます。
| 項目 | 内容 |
|---|---|
| 実行までの時間(秒) | 0 |
| 実行するフロー | 実行したいフローを指定します |