私は自分のWebアプリケーションに必要なクリティカルなWindowsサービスを持っています。Windowsサービス "Starting"
残念ながら、Windowsサービスは正常に起動しませんが、約7分38秒間 "開始中"の状態のままで失敗します。
サービスが「起動中」モードの場合、私のWebアプリケーションは正常に動作します。
私は、必要に応じてサービスを再起動するために毎分実行されるwindowsスケジュールされたタスクを持っています。
net start "my service"
したがって、サービスが失敗してから再び起動するまでに約22秒のギャップがあります。さらに、私のアプリケーション(このサービスに依存している)が動作するにはさらに30秒かかります。
私は故意に間違ったサービスに名前を付けませんでした。私は別の質問https://stackoverflow.com/questions/8470975/oracle-oc4j-service-keeps-stoppingを開きましたが、その目的は実際に問題を解決することでした。
この質問では、私は問題を解決しようとしているのではなく、このサービスを「開始」の状態に保つための回避策を探しています。
今日、サーバーを再起動するまで、3分ごとにサービスを再起動するという回避策が実際には機能し、アプリケーションのダウンタイムはまったくありませんでした。
誰か提案はありますか?私は、サービスを "Starting"の状態に長く保つために、ServicesPipeTimeoutのレジストリキーを86400000(24時間!)に変更しようとしました。
サービスではなく、状態RUNNINGにする必要があります開始よりも。開始は移行状態です([MSDN詳細])。http://msdn.microsoft.com/en-us/library/windows/desktop/ee126211(v = vs.85).aspx)。 –
Seva Titovありがとうございます。私はこれが最適な状況ではないと認めますが、アプリケーションは「開始」モードでも機能します。 (私はあなたが "実行"ではなく "開始"を意味すると思う) – gordon613
'sc query'は開始したサービスのRUNNINGを報告します。しかし、その名前は重要ではありません。サービスは、開始状態では長時間にわたり続けることはできません.SCMは最終的に終了します。 –