0

ネットワーク接続が低速で、WL サーバーへの呼び出しがタイムアウトになると、驚くべきシナリオが発生します。

これは、WL.Client.connectinvokeProcedureで発生します。

  • 10秒のタイムアウトで呼び出しを実行します
  • ネットワーク接続が遅いため、通話がタイムアウトします
  • その呼び出しに関連付けられた定義済みのonFailureプロシージャが実行されます
  • WL サーバーは、タイムアウト後に有効な応答で応答します。
  • その呼び出しに関連付けられたonSuccessプロシージャが実行されます

これは WL クライアント フレームワークの設計および意図された動作ですか? これは InfoCenter のドキュメントまたはどこかに指定されていますか?

私たちのチームのすべての開発者は、これら 2 つの手順が排他的であることを期待しており、コードはこの仮定に基づいて実装されました。アプリで onFailure または onSuccess コード/ロジックの排他的実行を確実に達成するために、タイムアウト/失敗応答を成功応答と一致させる方法に関するオプションを現在調査中です。

注: connectOnStartup=trueではテストしていません。また、initOptionsがonSuccessプロシージャを提供しないため(WL が内部で処理するため)、この場合は排他的実行を実装するのがさらに難しくなる可能性があります。

4

1 に答える 1