in src/_bcl35/BackgroundRunner.bcl35.cs [55:89]
private void DoWork()
{
while (!ShouldStop)
{
try
{
_logger.InfoFormat("Mobile Analytics Manager is trying to deliver events in background thread.");
IDictionary<string, MobileAnalyticsManager> instanceDictionary = MobileAnalyticsManager.CopyOfInstanceDictionary;
foreach (string appId in instanceDictionary.Keys)
{
MobileAnalyticsManager manager = null;
try
{
manager = MobileAnalyticsManager.GetInstance(appId);
manager.BackgroundDeliveryClient.AttemptDelivery();
}
catch (System.Exception e)
{
_logger.Error(e, "An exception occurred in Mobile Analytics Delivery Client.");
if (null != manager)
{
MobileAnalyticsErrorEventArgs eventArgs = new MobileAnalyticsErrorEventArgs(this.GetType().Name, "An exception occurred when deliverying events to Amazon Mobile Analytics.", e, new List<Amazon.MobileAnalytics.Model.Event>());
manager.OnRaiseErrorEvent(eventArgs);
}
}
}
Thread.Sleep(BackgroundSubmissionWaitTime * 1000);
}
catch (System.Exception e)
{
_logger.Error(e, "An exception occurred in Mobile Analytics Manager.");
}
}
}