Превышение времени ожидания при попытке подключения к серверу Memcached на AppHarbor - PullRequest
2 голосов
/ 22 января 2012

Я использую клиент Enyim Memcached для .Net , пытаюсь подключиться к серверу, работающему на AppHarbor .Соответствующие части моего файла конфигурации выглядят следующим образом:

  <enyim.com>
    <log factory="Enyim.Caching.DiagnosticsLogFactory, Enyim.Caching" />
    <memcached protocol="Binary">
      <servers>
        <add address="8d593f28-37d7-4c4f-a702-aa7687a85ea1.memcacher.com" port="11211" />
      </servers>
      <authentication
          type="Enyim.Caching.Memcached.PlainTextAuthenticator, Enyim.Caching"
          userName="changed to post on stack overflow"
          password="changed to post on stack overflow"
          zone="AUTHZ"
              />
      </memcached>
    </enyim.com>

У моего соединения истекает время ожидания.Есть идеи, что здесь происходит?Вот журналы от клиента Enyim:

2012-01-21 18:56:08 [ОШИБКА] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Не удалось инициировать пул.- System.TimeoutException: не удалось подключиться к 50.19.210.46:11211 в Enyim.Caching.Memcached.PooledSocket.ConnectWithTimeout (сокет-сокет, конечная точка IPEndPoint, время ожидания Int32) в Enyim.Caching.Memcached.PooledSocket..ctor (конечная точка IPEndPoint)connectionTimeout, TimeSpan receiveTimeout) в Enyim.Caching.Memcached.MemcachedNode.CreateSocket () в Enyim.Caching.Memcached.Protocol.Binary.BinaryNode.CreateSocket () в Enyim.Caching.Memcached.MemcachedNode.InmpyCoreIoICaching.Memcached.MemcachedNode.InternalPoolImpl.InitPool () 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - помечен как мертвый для 50.19.210.46:11211 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - FailurePolicy.ShouldFail (): True 2012-01-21 18:56:08 [WARN] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl- Маркировка узла 50.19.210.46:11211 как мертвого 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.DefaultServerPool - Узел 50.19.210.46:11211 мертв.2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.DefaultServerPool - Запуск таймера восстановления.2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.DefaultServerPool - Таймер запущен.2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - получение потока из пула.50.19.210.46:11211 2012-01-21 18:56:08 [DEBUG] 7 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Пул мертв или удален, возвращая ноль.50.19.210.46:11211

ОБНОВЛЕНИЕ:

Оказывается, причина, по которой я не могу подключиться к серверу memcached, заключается в том, что он доступен только из среды appharbor.Таким образом, для всех, кто сталкивается с этим, вам нужно использовать локальную службу memcached при разработке локально, а затем просто изменить учетные данные при развертывании (что apphaorbor на самом деле делает автоматически).Проблема решена.

1 Ответ

4 голосов
/ 22 января 2012

Контейнеры AppHarbor Memcacher доступны только с серверов приложений AppHarbor. Документация была изменена, чтобы четко отразить это.

Вы должны использовать локально установленный memcached сервер для тестирования.

...