%PDF- %PDF-
| Direktori : /proc/self/root/usr/lib/python2.7/site-packages/salt/engines/ |
| Current File : //proc/self/root/usr/lib/python2.7/site-packages/salt/engines/redis_sentinel.pyc |
�
���^c @@ s� d Z d d l m Z m Z m Z d d l Z d d l Z d d l m Z d d l
m Z y d d l Z Wn e
k
r� d Z n Xe j e � Z d Z e j e � Z d � Z d e f d � � YZ d d
� Z d S( u
An engine that reads messages from the redis sentinel pubsub and sends reactor
events based on the channels they are subscribed to.
.. versionadded: 2016.3.0
:configuration:
Example configuration
.. code-block:: yaml
engines:
- redis_sentinel:
hosts:
matching: 'board*'
port: 26379
interface: eth2
channels:
- '+switch-master'
- '+odown'
- '-odown'
:depends: redis
i ( t absolute_importt print_functiont unicode_literalsN( t six( t zipu redisc C@ s t d k r t St d f S( Nu$ redis python module is not installed( t redist Nonet __virtualname__t False( ( ( s? /usr/lib/python2.7/site-packages/salt/engines/redis_sentinel.pyt __virtual__2 s t Listenerc B@ s/ e Z d d d d d � Z d � Z d � Z RS( c C@ s� | d k r d } n | d k r* d } n | d k rB d g } n | d k rW d } n t t | � j � | | _ t j d | d | d t � | _ | j j � | _ | j j | � t
j j j
t t d � j | _ d S( Nu localhostig u *u salt/engine/redis_sentinelt hostt portt decode_responsesu sock_dir( R t superR
t __init__t tagR t StrictRedist Truet pubsubt
psubscribet saltt utilst eventt get_master_eventt __opts__t
fire_eventt fire_master( t selfR R t channelsR ( ( s? /usr/lib/python2.7/site-packages/salt/engines/redis_sentinel.pyR 9 s !c C@ s i | d d 6} t | d t j � r8 | d | d <n� | d d k rz | j t t t d | d j d
� � � � � nb | d d k r� | j t t t d | d j d
� d � � � � n i | d d 6| d d 6} | j | d j | j
| d � � d S( Nu channelu datau codeu +switch-masteru masteru old_hostu old_portu new_hostu new_portu u +odownu -odownu hostu porti u {0}/{1}( u masteru old_hostu old_portu new_hostu new_port( u +odownu -odown( u masteru hostu port( t
isinstanceR t
integer_typest updatet dictt listR t splitR t formatR ( R t itemt ret( ( s? /usr/lib/python2.7/site-packages/salt/engines/redis_sentinel.pyt workI s #'c C@ sH t j d � x4 | j j � D]# } t j d | � | j | � q Wd S( Nu Start Listeneru Item: %s( t logt debugR t listenR'