This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

High Availability package and Sentinel client for the PEP 3156 Python event loop.

This package is a wrapper/plugin for asyncio-redis asynchronous, non-blocking client for a Redis server. It depends on asyncio (PEP 3156) and therefor it requires Python 3.3 or 3.4. If you’re new to asyncio, it can be helpful to check out the asyncio documentation first.

Features

  • Sentinel support ontop of asyncio-redis:
    • role
    • sentinels
    • slaves
    • get_master_addr_by_name
  • Extended Redis support (versions 3.x)
    • role
  • Mostly tested
    • all tests from asyncio-redis are green
    • new functionality covered and guaranteed to run in same conditions
    • failover scenarios tested manually

Dependencies

Redis cluster with Sentinel solution requires Redis 3.x

This package uses and heavily depends on asyncio-redis, because of the dependencies on package internals (due to required changes to support sentinel operations) currently requirement fixed at version 0.14.3

I will manually update this dependency after ensuring that internals are compatible.

Roadmap

  • implement pool reinitialization on master connection loss
  • add repeat/backoff wrapper as part of the package (coroutine or decorator)
  • provide automated testing for failover scenarios
  • implement preemptive connection reconfiguration (instant failover detection based on channel events from Sentinel daemon)
  • hiredis support

User Guide

Usage is the very same as for asyncio-redis package Pool object, except for initialization of an entry point

Initialize a ConnectionManager

c = yield from ConnectionManager.create(
        cluster_name='mymaster',
        sentinels=[
            ('172.17.0.4', 26379),
            ('172.17.0.6', 26379),
            ('172.17.0.7', 26379)
        ],
        poolsize=5
)
#  start using just like asyncio-redis
yield from c.set('key', 'value')
Release History

Release History

0.1.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
asyncio_redis_ha-0.1.1.tar.gz (8.7 kB) Copy SHA256 Checksum SHA256 Source Oct 17, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting