internal void LongPollSqs(SqsPollingClientSettings settings) { var failCounter = 0; while (true) { IEnumerable <SqsMessage> messages; try { messages = _container._client.ReceiveMessages(settings.QueueName, settings.LongPollInterval, settings.MaxNumberOfMessages); failCounter = 0; } catch (Exception e) { LogError(e, string.Format("ReceiveMessages (fail count: {0:#,##0})", ++failCounter)); AsyncUtil.Sleep(settings.WaitTimeOnError); continue; } if (_isDisposed) { break; } if (messages.None()) { continue; } try { settings.Callback(messages); } catch (Exception e) { LogError(e, "callback failed"); } } }
internal void LongPollSqs(SqsPollingClientSettings settings) { var failCounter = 0; while(true) { IEnumerable<SqsMessage> messages; try { messages = _container._client.ReceiveMessages(settings.QueueName, settings.LongPollInterval, settings.MaxNumberOfMessages); failCounter = 0; } catch(Exception e) { LogError(e, string.Format("ReceiveMessages (fail count: {0:#,##0})", ++failCounter)); AsyncUtil.Sleep(settings.WaitTimeOnError); continue; } if(_isDisposed) { break; } if(messages.None()) { continue; } try { settings.Callback(messages); } catch(Exception e) { LogError(e, "callback failed"); } } }