ó
P'—^c           @@  s’   d  Z  d d l m Z d d l m Z m Z d d l m Z d d l m	 Z	 d d l
 m Z d d l m Z d g Z d e j f d	 „  ƒ  YZ d
 S(   sz   
    celery.backends.rpc
    ~~~~~~~~~~~~~~~~~~~

    RPC-style result backend, using reply-to and one queue per client.

i    (   t   absolute_import(   t   Consumert   Exchange(   t   maybe_declare(   t   cached_property(   t   current_task(   t   amqpt
   RPCBackendc           B@  s“   e  Z e Z d  e f d „  ƒ  YZ d d d „ Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z e d „ Z e d „  ƒ Z e d „  ƒ Z RS(   R   c           B@  s   e  Z e Z RS(    (   t   __name__t
   __module__t   Falset   auto_declare(    (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyR      s   t   directi   c         C@  s
   t  d  ƒ S(   N(   R   t   None(   t   selft   namet   typet   delivery_mode(    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   _create_exchange   s    c         C@  s    t  |  j | j ƒ d t ƒd  S(   Nt   retry(   R   t   bindingt   channelt   True(   R   t   producert   task_id(    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   on_task_call   s    c         C@  s   |  j  S(   N(   R   (   R   R   (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   _create_binding"   s    c         C@  s
   |  j  g S(   N(   R   (   R   t   ids(    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   _many_bindings%   s    c         C@  s   | S(   N(    (   R   R   (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   rkey(   s    c         C@  sR   y | p t  j } Wn& t k
 r; t d j | ƒ ƒ ‚ n X| j | j pN | f S(   Ns*   RPC backend missing task request for {0!r}(   R   t   requestt   AttributeErrort   RuntimeErrort   formatt   reply_tot   correlation_id(   R   R   R   (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   destination_for+   s    c         C@  s   d  S(   N(    (   R   R   (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   on_reply_declare6   s    c         C@  s   d S(   Ns   rpc://(    (   R   t   include_password(    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   as_uri9   s    c         C@  s(   |  j  |  j |  j |  j d t d t ƒS(   Nt   durablet   auto_delete(   t   Queuet   oidt   exchangeR
   (   R   (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyR   <   s    c         C@  s
   |  j  j S(   N(   t   appR+   (   R   (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyR+   A   s    (   R   R	   R
   t
   persistentR   R   R   R   R   R   R$   R%   R   R'   t   propertyR   R   R+   (    (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyR      s   						N(   t   __doc__t
   __future__R    t   kombuR   R   t   kombu.commonR   t   kombu.utilsR   t   celeryR   t   celery.backendsR   t   __all__t   AMQPBackendR   (    (    (    s5   /tmp/pip-unpacked-wheel-gV1wwp/celery/backends/rpc.pyt   <module>   s   	