Веб-роли Azure постоянно перерабатываются с помощью Autoscaler
У меня есть служба wcf, размещенная на Azure. Когда я развертываю его и запускаю объект автоматического масштабирования, роли веб-служб постоянно перезаписываются и находятся в нездоровом состоянии. Если я не запускаю автоскалер, у меня нет проблем, однако я бы хотел использовать WASABi.
Вот мой WebRole.cs
ublic class WebRole : RoleEntryPoint
{
private Autoscaler autoscaler;
public override bool OnStart()
{
// To enable the AzureLocalStorageTraceListner, uncomment relevent section in the web.config
DiagnosticMonitorConfiguration diagnosticConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
diagnosticConfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
diagnosticConfig.Directories.DataSources.Add(AzureLocalStorageTraceListener.GetLogDirectory());
// For information on handling configuration changes
// see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
autoscaler = EnterpriseLibraryContainer.Current.GetInstance<Autoscaler>();
autoscaler.Start();
return base.OnStart();
}
public override void OnStop()
{
autoscaler.Stop();
}
}
2 ответа
Вы пытались использовать IntelliTrace для диагностики причин повторного использования? Вот хорошая статья, в которой рассказывается, как настраивать и устранять неполадки с IntelliTrace.
Как выглядит ваш метод Run? Она должна поддерживать роль, поэтому она должна выглядеть примерно так:
public override void Run()
{
Trace.TraceInformation("ScalerRole entry point called", "Information");
while (true)
{
Thread.Sleep(100000);
Trace.TraceInformation("Working", "Information");
}
}