Quantcast
Channel: Azure フォーラム
Viewing all articles
Browse latest Browse all 1798

AzureCloudServiceのOSシャットダウン時に処理を行う方法

$
0
0

■環境

・Azure環境: Cloud Service

・サーバ:Windows Server 2012 R2

・デプロイ方法:EclipseでのAzureプラグインを使用

■問題

・OSシャットダウンを検知して数10秒程度の処理(Azure Blob Strageへファイルをアップロード)をしたいができない。

■現状

1. サーバ上のメイン言語はJavaを使用しているのでJVMのシャットダウンフックを利用しようとしたが、Ctrl+Cの終了は検知できても、OSのシャットダウンは検知できなかった。http://docs.oracle.com/javase/jp/7/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)

2. C#でSystem.ServiceProcess.ServiceBaseを継承したクラスを作り、OnShutdown()を継承してシャットダウンは検知できたが、処理がすぐに止まってしまう(2秒程度で強制終了しているように見える)

3. シャットダウン時の猶予が欲しくてレジストリwaittokillservicetimeoutの値を伸ばしても結果は変わらず。

4. ネット上ではシャットダウンジにOnShutdown()ではなくOnStop()が呼ばれるという情報があったのでCanStopをtrueにしてみたが呼ばれない(OnStop()ではRequestAddtionalTime()が使えるので、猶予時間が延ばせると思ったがダメだった)

■質問

・何か方法があると思うのですが手詰まり気味なので、何か情報があればよろしくお願いします。


Viewing all articles
Browse latest Browse all 1798

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>