
    `?i                     r    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dlmZ  G d	 d
e      Zy)    )deepcopy)
TaskResultTaskResultStatus)TaskResultDoesNotExist)task_enqueued)timezone)get_random_string   )BaseTaskBackendc                   H     e Zd ZdZdZdZ fdZd Zd Zd Z	d Z
d Z xZS )DummyBackendTc                 4    t         |   ||       g | _        y N)super__init__results)selfaliasparams	__class__s      m/home/cursorai/projects/django-cronjob-utils/venv/lib/python3.12/site-packages/django/tasks/backends/dummy.pyr   zDummyBackend.__init__   s    '    c                     t         j                  |dt        j                                | j                  j                  |       t        j                  t        |       |       y )Nenqueued_at)task_result)	object__setattr__r   nowr   appendr   sendtype)r   results     r   _store_resultzDummyBackend._store_result   s@    6=(,,.AF#4:6:r   c                     | j                  |       t        |t        d      t        j                  d d d d ||| j
                  g g       }| j                  |       t        |      S )N    )taskidstatusr   
started_atlast_attempted_atfinished_atargskwargsbackenderrors
worker_ids)validate_taskr   r	   r   READYr   r#   r   )r   r&   r,   r-   r"   s        r   enqueuezDummyBackend.enqueue   sj    4  $#))"JJ
 	6" r   c                 t    	 t        fd| j                  D              S # t        $ r t              d w xY w)Nc              3   B   K   | ]  }|j                   k(  s|  y wr   r'   .0r"   	result_ids     r   	<genexpr>z*DummyBackend.get_result.<locals>.<genexpr>5        T\6VYY)=S\   nextr   StopIterationr   r   r9   s    `r   
get_resultzDummyBackend.get_result1   s9    	>TT\\TTT 	>(3=	>s   ! 7c                 |   K   	 t        fd| j                  D              S # t        $ r t              d w xY ww)Nc              3   B   K   | ]  }|j                   k(  s|  y wr   r6   r7   s     r   r:   z+DummyBackend.aget_result.<locals>.<genexpr>;   r;   r<   r=   r@   s    `r   aget_resultzDummyBackend.aget_result9   s<     	>TT\\TTT 	>(3=	>s   <# <9<c                 8    | j                   j                          y r   )r   clear)r   s    r   rF   zDummyBackend.clear?   s    r   )__name__
__module____qualname__supports_defersupports_async_tasksupports_priorityr   r#   r3   rA   rD   rF   __classcell__)r   s   @r   r   r      s2    N;
 .>>r   r   N)copyr   django.tasks.baser   r   django.tasks.exceptionsr   django.tasks.signalsr   django.utilsr   django.utils.cryptor	   baser   r    r   r   <module>rV      s&     : : . ! 1 !4? 4r   