0

Ant を使用して、実行タスクを実行する前に URL にアクセスできるようになるまで待機していますが、必要以上に長く待機しています。

私のwaitfor-

<waitfor maxwait="3" maxwaitunit="minute" checkevery="500">
    <http url="http://127.0.0.1:${product.listenport}/start/"/>
</waitfor>

端末にこの出力が表示されるとすぐに、ブラウザーに URL をロードして期待どおりにページを取得しますが、それでも Ant は待機します (おそらくmaxwait値よりも長くなります)。

この実装に問題はありますか?

4

3 に答える 3

0

私も今この問題を抱えていました。私は一種のpingとしてwaitforを使用しようとしていました

一部の単体テストでは、適切に実行するためにデータベース接続が必要であり、そのデータベースは会社のサーバーにあります。そのサーバーに接続していない場合は、テストを実行したくありません。これらのタスクはサーバーを待ってハングするだけで、テストを実行しているのか、接続を待っているだけなのかわからないからです。後者に気付く頃には、かなりの無駄な時間が過ぎています。サーバーに接続してから、テストを再実行する必要があります。そのため、サーバーに接続されていないと失敗する簡単な種類の Ping タスクを探していました。これが私の解決策です。

<limit maxwait="10" maxwaitunit="second" failonerror="true">
   <waitfor maxwait="20" maxwaitunit="second">
      <socket server="myserver" port="5432"/>
    </waitfor>
</limit>

ポート 5432 は postgresql 用ですが、タスクに適したポートを確認できます。

于 2014-05-29T19:32:44.750 に答える