<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/redis-py.git, branch ping-health-checks</title>
<subtitle>github.com: andymccurdy/redis-py.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/'/>
<entry>
<title>yes, we still support python 2.7</title>
<updated>2019-07-27T00:12:55+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2019-07-27T00:12:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=e57cf1a7227a596eb64696ec5b3b307b541be2fe'/>
<id>e57cf1a7227a596eb64696ec5b3b307b541be2fe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PING/PONG health checks</title>
<updated>2019-07-26T23:47:32+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2019-07-23T23:54:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=7a73f197b18584710c9f3b9ee8cbbadbe727bf34'/>
<id>7a73f197b18584710c9f3b9ee8cbbadbe727bf34</id>
<content type='text'>
The `Redis` class and the `ConnectionPool` class now support the
"health_check_interval=N" option. By default N=0, which turns off health
checks. `N` should be an integer, and when greater than 0, ensures that
a health check is performed just before command execution anytime the
underlying connection has been idle for more than N seconds. A health
check is a full PING/PONG round trip to the Redis server.

If a health check encounters a ConnectionError or TimeoutError, the connection
is disconnected and reconnected and the health check is retried exactly once.
Any error during the retry is raised to the caller. Health check retries
are not governed by any other options such as `retry_on_timeout`. In systems
where idle times are common, these health checks are the intended way to
reconnect to the Redis server without harming any user data.

When this option is enabled for PubSub connections, calling `get_message()` or
`listen()` will send a health check anytime a message has not been read on
the PubSub connection for `health_check_interval` seconds. Users should
call `get_message()` or `listen()` at least every `health_check_interval`
seconds in order to keep the connection open.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `Redis` class and the `ConnectionPool` class now support the
"health_check_interval=N" option. By default N=0, which turns off health
checks. `N` should be an integer, and when greater than 0, ensures that
a health check is performed just before command execution anytime the
underlying connection has been idle for more than N seconds. A health
check is a full PING/PONG round trip to the Redis server.

If a health check encounters a ConnectionError or TimeoutError, the connection
is disconnected and reconnected and the health check is retried exactly once.
Any error during the retry is raised to the caller. Health check retries
are not governed by any other options such as `retry_on_timeout`. In systems
where idle times are common, these health checks are the intended way to
reconnect to the Redis server without harming any user data.

When this option is enabled for PubSub connections, calling `get_message()` or
`listen()` will send a health check anytime a message has not been read on
the PubSub connection for `health_check_interval` seconds. Users should
call `get_message()` or `listen()` at least every `health_check_interval`
seconds in order to keep the connection open.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ability to create a client that uses a single connection</title>
<updated>2019-07-23T21:48:30+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2019-07-23T00:14:28+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=0984b102264b2600a6534ad8fef6f4cab44b4ecc'/>
<id>0984b102264b2600a6534ad8fef6f4cab44b4ecc</id>
<content type='text'>
This has multiple uses:
  * Single connection clients will not be considered threadsafe. This means
    certain settings could temporarily be adjusted. For example, a context
    manager could temporarily modify the encoding behavior for a set
    of commands.
  * We can introduce more thorough health checks that only happen when a
    connection is handed out from the connection pool.
  * Workloads that issue many commands to Redis should be slightly faster.
    Prior to this change, the client must retrieve a connection from the
    pool for each command.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has multiple uses:
  * Single connection clients will not be considered threadsafe. This means
    certain settings could temporarily be adjusted. For example, a context
    manager could temporarily modify the encoding behavior for a set
    of commands.
  * We can introduce more thorough health checks that only happen when a
    connection is handed out from the connection pool.
  * Workloads that issue many commands to Redis should be slightly faster.
    Prior to this change, the client must retrieve a connection from the
    pool for each command.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo in README and CHANGELOG (#1133)</title>
<updated>2019-07-18T17:56:04+00:00</updated>
<author>
<name>Jani Korhonen</name>
<email>zachu@thegroup.fi</email>
</author>
<published>2019-07-18T17:56:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=6e23760fefbdf27ec941a2c3ae1ec2657875ac31'/>
<id>6e23760fefbdf27ec941a2c3ae1ec2657875ac31</id>
<content type='text'>

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

</pre>
</div>
</content>
</entry>
<entry>
<title>Updates README.rst with svg badge (#1182)</title>
<updated>2019-07-17T22:53:15+00:00</updated>
<author>
<name>Nikita Sobolev</name>
<email>mail@sobolevn.me</email>
</author>
<published>2019-07-17T22:53:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=088c0ab359e6f52954c955a08356e32bb7687ae9'/>
<id>088c0ab359e6f52954c955a08356e32bb7687ae9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle removed claimed messages without an exception</title>
<updated>2019-07-17T22:49:02+00:00</updated>
<author>
<name>Thomas Daskalakis</name>
<email>td@axiros.com</email>
</author>
<published>2019-07-15T12:20:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=5faed95b3b248d7d076298afd357a042cf916757'/>
<id>5faed95b3b248d7d076298afd357a042cf916757</id>
<content type='text'>
Fixes #1191
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #1191
</pre>
</div>
</content>
</entry>
<entry>
<title>Use nonblocking sockets instead of selectors for healthy connections</title>
<updated>2019-07-10T00:03:36+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2019-06-01T15:38:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=acac4db0c064d2618d75f27a58384c97c16458fd'/>
<id>acac4db0c064d2618d75f27a58384c97c16458fd</id>
<content type='text'>
This replaces the work in 3.2.0 to use nonblocking sockets instead of
selectors. Selectors proved to be problematic for some environments
including eventlet and gevent. Nonblocking sockets should be available
in all environments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This replaces the work in 3.2.0 to use nonblocking sockets instead of
selectors. Selectors proved to be problematic for some environments
including eventlet and gevent. Nonblocking sockets should be available
in all environments.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add READONLY and READWRITE commands</title>
<updated>2019-07-09T23:26:27+00:00</updated>
<author>
<name>Theo Despoudis</name>
<email>thdespou@hotmail.com</email>
</author>
<published>2019-01-07T14:21:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=9ed2132af28652e964b6a4a20d387580d1081003'/>
<id>9ed2132af28652e964b6a4a20d387580d1081003</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Code coverage in travis, and codecov.io badge. (#1180)</title>
<updated>2019-06-25T17:51:39+00:00</updated>
<author>
<name>Roey Prat</name>
<email>roey.prat@redislabs.com</email>
</author>
<published>2019-06-25T17:51:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=0be4d2920684345eb52115c7142c39d65356e7d4'/>
<id>0be4d2920684345eb52115c7142c39d65356e7d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add redis_url cmdline argument for tests (#1170)</title>
<updated>2019-06-06T19:57:49+00:00</updated>
<author>
<name>Grygorii Iermolenko</name>
<email>gyermolenko@gmail.com</email>
</author>
<published>2019-06-06T19:57:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/redis-py.git/commit/?id=da2ffc7ea5e57daecfe19a65831296ccf5f8588e'/>
<id>da2ffc7ea5e57daecfe19a65831296ccf5f8588e</id>
<content type='text'>
Users can now specify --redis-url when running the test suite to choose a specific server. </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Users can now specify --redis-url when running the test suite to choose a specific server. </pre>
</div>
</content>
</entry>
</feed>
