
    =h0
                         d dl mZ d dlmZ 	 d dlmZ ddZdddddd	Z ed
      ddddddd       Z	y# e$ r dZY -w xY w)    )cache)shared_task)get_redis_connectionN c                 R   t         t        | d       y	 t        d      }| xs g D ]W  }d}d}	 |j                  ||d      \  }}|r |j                  |  |t        |      z  }|dk(  rn=t        | d	| d
|        Y y# t        $ r}t        | d|        Y d }~yd }~ww xY w)Nz=[CACHE] django-redis not installed; cannot delete by pattern.Fdefaultz%[CACHE] Cannot get redis connection: r   Ti  )cursormatchcountz[CACHE] Deleted z keys for pattern: )r   print	Exceptionscandeletelen)patterns
log_prefixconepattotalr	   keyss           )/var/www/extractly/abstractclass/tasks.py_delete_by_patterns_via_redisr      s    #YZ["9-
 ~2~886D8ILFD

D!T"{  	,UG3FseLM  #  A!EFs   B 	B&B!!B&Fr   r   	clear_allr   c           	          | xs g } |xs g }|r#t        j                          t        | d       y | D ](  }	 t        j                  |       t        | d|        * |r\t        t         dd       }t        |      r!|D ]  }	  ||       t        | d|         y t        ||      st        | d	|        y y y # t        $ r}t        | d| d|        Y d }~d }~ww xY w# t        $ r}t        | d| d|        Y d }~d }~ww xY w)
Nz[CACHE] Cleared ALL cache.z[CACHE] Deleted key: z[CACHE] Del key error 'z': delete_patternz[CACHE] Deleted pattern: z[CACHE] Del pattern error ')r   z8[CACHE] Pattern delete unsupported by backend. Ignored: )r   clearr   r   r   getattrcallabler   )r   r   r   r   kr   r   ps           r   _cache_clearr#   &   s:   :2D~2H678 	CLLOZL 5aS9:   (8$?N#O"1%ZL(A!EF  1jQ$\]e\fgh R 	  	CZL 7s#aSABB	C ! OZL(CA3c!MNNOs/   %B>C'>	C$CC$'	D0DDzcache.clear)namec                P    t        ||||       d|xs g |xs g t        |      dS )Nr   ok)statusr   r   r   )r#   bool)previous_task_resultr   r   r   r   s        r   clear_cache_taskr*   G   s.    dXzZDJBHNY]^gYhii    )r   )N)
django.core.cacher   celeryr   django_redisr   r   r   r#   r*    r+   r   <module>r0      sm    #  16 " iB - jtW\ik j !jA    s   8 AA