Windows Azure利用料金で仕様コンピューティング時間が契約プランの75%に達したAzureアカウントが分かったのですが、10日くらいでこの使用量というのが解せません。
なんか暴走系のロジックがはいっているのかなと自分の記述したコードを眺めてみましたがそれらしきものもありません。
使わないときはとめるようなメソッドでもあるのかとWorkerRoleを追加したときのデフォルト生成コード部分をながめてみると
Public Overrides Sub Run()
' これは CZ1009CloudWorkerRole の実装例です。実際のロジックに置き換えてください。
Trace.WriteLine("CZ1009CloudWorkerRole entry point called.", "Information")
While (True)
Thread.Sleep(10000)
Trace.WriteLine("Working", "Information")
End While
End Sub
というコードが!
どうみてもWorkerRoleが動いている間、ずっと10秒ごとにTrace.WriteLineしつづけるコードです。
もちろん、コンピューティング時間も使います。さすがに、sleep時間中は課金されないとは思いますがCPU時間じゃなくて使用時間なので動き始めたらずーっと使ってしまって無駄遣いしていますので、わすれずコメントアウトする必要がありますね。
追記:
発行してからdeleteするまでは課金されるようです。なので、上記のsleepループは課金には無関係です。削除すると
19:17:23 - 警告: メッセージを受信できるhttps://management.core.windows.net/hogehoge/services/hostedservices/hatsune/deploymentslots/Stagingでリッスンしているエンドポイントがありませんでした。これは一般に、アドレスまたは SOAP アクションが正しくない場合に発生します。詳細については、InnerException を参照してください (ある場合)。
となります。