2

Python を使用して Netsuite Web サービス レイヤーと対話する作業を行っています。suds を使用して WSDL を解析するには、2 分近くかかります。クライアントが解析されると、ロードの問題を少し解決する redis を使用してキャッシング レイヤーを作成することができましたが、最初はまだ時間がかかります。

>>> # Takes several minutes to load
>>> client = suds.Client(huge_four_mb_wsdl_file)

私はサービスの小さなサブセットしか使用していないので、これらのサービスのみを WSDL から取り出して、独自の小さな WSDL に入れる方法はありますか?

4

1 に答える 1

1

v2013_2 バージョンの wsdlソースを見ると、実際には 38 の他の xsd ファイルをインポートしていることがわかります。

次の方法でプロセスをスピードアップできます。

  • 一部の xsd ファイルのみをインポートするローカル wsdl を作成します。(ダウンロード/解析時間を節約)
  • pickleを使用して準備完了のクライアントをシリアル化し、起動時にロードする (解析時間を節約する)

また、アプリケーションの有効期間中にクライアントを 1 回だけ作成する必要があることを確認してください。

于 2014-01-21T15:37:43.117 に答える