Ë
    ¦#ijå  ã                   ó   — d dl mZmZmZ d dlmZ d dlmZmZ d dlm	Z	m
Z
mZ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 dZd ZdZdZdZh d£Z G d„ de«      Z  eddd¬«       G d„ d«      «       Z!	 d eeeddœd„Z" eddd¬«       G d„ d«      «       Z# eddd¬«       G d„ d«      «       Z$ eddd¬«       G d„ d«      «       Z%y)!é    )Ú	dataclassÚfieldÚreplace)Údatetime)ÚisclassÚiscoroutinefunction)ÚAnyÚCallableÚDictÚOptional)Úasync_to_syncÚsync_to_async)ÚTextChoices)Únormalize_json)Úimport_string)Úpgettext_lazyé   )ÚTaskResultMismatchÚdefaultéd   iœÿÿÿ>   ÚerrorsÚstatusÚ
started_atÚ
worker_idsÚenqueued_atÚfinished_atÚ_return_valueÚlast_attempted_atc                   ód   — e Zd Zd edd«      fZd edd«      fZd edd«      fZd edd	«      fZy
)ÚTaskResultStatusÚREADYÚTaskÚReadyÚRUNNINGÚRunningÚFAILEDÚFailedÚ
SUCCESSFULÚ
SuccessfulN)Ú__name__Ú
__module__Ú__qualname__r   r!   r$   r&   r(   © ó    úK/var/www/html/office/venv/lib/python3.12/site-packages/django/tasks/base.pyr    r        sF   „ à‘m F¨GÓ4Ð5€Eà™-¨°	Ó:Ð;€Gà™ f¨hÓ7Ð8€Fà¡¨f°lÓ CÐD�Jr.   r    T)ÚfrozenÚslotsÚkw_onlyc                   ó¶   — e Zd ZU eed<   eed<   eed<   eed<   ee   ed<   dZ	e
ed<   d„ Zed	„ «       Zd
d
d
d
dœd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zy
)r"   ÚpriorityÚfuncÚbackendÚ
queue_nameÚ	run_afterFÚtakes_contextc                 óB   — | j                  «       j                  | «       y ©N)Úget_backendÚvalidate_task©Úselfs    r/   Ú__post_init__zTask.__post_init__6   s   € Ø×ÑÓ×(Ñ(¨Õ.r.   c                 ó.   — | j                   j                  S r;   )r5   r*   r>   s    r/   Únamez	Task.name9   s   € à�y‰y×!Ñ!Ð!r.   N)r4   r7   r8   r6   c                óV   — i }|�||d<   |�||d<   |�||d<   |�||d<   t        | fi |¤ŽS )z)Create a new Task with modified defaults.r4   r7   r8   r6   )r   )r?   r4   r7   r8   r6   Úchangess         r/   Úusingz
Task.using=   sY   € ð ˆØÐØ"*ˆG�JÑØÐ!Ø$.ˆG�LÑ!ØÐ Ø#,ˆG�KÑ ØÐØ!(ˆG�IÑÜ�tÑ'˜wÑ'Ð'r.   c                 óD   — | j                  «       j                  | ||«      S )ú!Queue up the Task to be executed.)r<   Úenqueue©r?   ÚargsÚkwargss      r/   rH   zTask.enqueueR   s    € à×ÑÓ!×)Ñ)¨$°°fÓ=Ð=r.   c              �   ó`   K  — | j                  «       j                  | ||«      ƒ d{  –—† S 7 Œ­w)rG   N)r<   ÚaenqueuerI   s      r/   rM   zTask.aenqueueV   s*   è ø€ à×%Ñ%Ó'×0Ñ0°°t¸VÓD×DÐDÐDús   ‚%.§,¨.c                 óÐ   — | j                  «       j                  |«      }|j                  j                  | j                  k7  r#t	        d|j                  j
                  ›d�«      ‚|S )zÊ
        Retrieve a task result by id.

        Raise TaskResultDoesNotExist if such result does not exist, or raise
        TaskResultMismatch if the result exists but belongs to another Task.
        úTask does not match (received ú))r<   Ú
get_resultÚtaskr5   r   Úmodule_path©r?   Ú	result_idÚresults      r/   rQ   zTask.get_resultZ   s^   € ð ×!Ñ!Ó#×.Ñ.¨yÓ9ˆØ�;‰;×Ñ˜tŸy™yÒ(Ü$Ø0°·±×1HÑ1HÐ0KÈ1ÐMóð ð ˆr.   c              ƒ   óì   K  — | j                  «       j                  |«      ƒ d{  –—† }|j                  j                  | j                  k7  r#t	        d|j                  j
                  ›d�«      ‚|S 7 ŒL­w)zSee get_result().NrO   rP   )r<   Úaget_resultrR   r5   r   rS   rT   s      r/   rX   zTask.aget_resulth   si   è ø€ à×'Ñ'Ó)×5Ñ5°iÓ@×@ˆØ�;‰;×Ñ˜tŸy™yÒ(Ü$Ø0°·±×1HÑ1HÐ0KÈ1ÐMóð ð ˆð Aús   ‚#A4¥A2¦AA4c                 ó†   — t        | j                  «      r t        | j                  «      |i |¤ŽS  | j                  |i |¤ŽS r;   )r   r5   r   rI   s      r/   Úcallz	Task.callq   s?   € Ü˜tŸy™yÔ)Ø+”= §¡Ó+¨TÐ<°VÑ<Ð<Øˆt�y‰y˜$Ð) &Ñ)Ð)r.   c              �   ó¶   K  — t        | j                  «      r | j                  |i |¤Žƒ d {  –—† S  t        | j                  «      |i |¤Žƒ d {  –—† S 7 Œ'7 Œ­wr;   )r   r5   r   rI   s      r/   Úacallz
Task.acallv   sR   è ø€ Ü˜tŸy™yÔ)Ø"˜Ÿ™ DÐ3¨FÑ3×3Ð3Ø-”] 4§9¡9Ó-¨tÐ>°vÑ>×>Ð>ð 4øØ>ús!   ‚+A­A®"AÁAÁAÁAc                 ó,   — ddl m} || j                     S )Nr   ©Útask_backends)Ú r_   r6   )r?   r_   s     r/   r<   zTask.get_backend{   s   € Ý#à˜TŸ\™\Ñ*Ð*r.   c                 ó`   — | j                   j                  › d| j                   j                  › �S )Nú.)r5   r+   r,   r>   s    r/   rS   zTask.module_path€   s)   € à—)‘)×&Ñ&Ð' q¨¯©×)?Ñ)?Ð(@ÐAÐAr.   )r*   r+   r,   ÚintÚ__annotations__r
   Ústrr   r   r9   Úboolr@   ÚpropertyrB   rE   rH   rM   rQ   rX   rZ   r\   r<   rS   r-   r.   r/   r"   r"   +   s“   … àƒMØ
ƒNØƒLØƒOØ˜Ñ!Ó!ð  €M�4Óò/ð ñ"ó ð"ð ØØØô(ò*>òEòòò*ò
?ò
+ð
 ñBó ñBr.   r"   NF)r4   r7   r6   r9   c                óB   ‡‡‡‡‡— ddl mŠ ˆˆˆˆˆfd„}| r || «      S |S )Nr   r^   c                 ó8   •— ‰‰   j                  ‰| ‰‰‰d ¬«      S )N)r4   r5   r7   r6   r9   r8   )Ú
task_class)Úfr6   r4   r7   r9   r_   s    €€€€€r/   Úwrapperztask.<locals>.wrapper�   s2   ø€ Ø˜WÑ%×0Ñ0ØØØ!ØØ'Øð 1ó 
ð 	
r.   )r`   r_   )Úfunctionr4   r7   r6   r9   rl   r_   s    ```` @r/   rR   rR   …   s'   ü€ õ  ÷
ð 
ñ Ù�xÓ Ð Ø€Nr.   c                   ó2   — e Zd ZU eed<   eed<   ed„ «       Zy)Ú	TaskErrorÚexception_class_pathÚ	tracebackc                 ó–   — t        | j                  «      }t        |«      rt        |t        «      st        | j                  ›d�«      ‚|S )Nz& does not reference a valid exception.)r   rp   r   Ú
issubclassÚBaseExceptionÚ
ValueError)r?   Úexception_classs     r/   rv   zTaskError.exception_class£   sQ   € ô (¨×(AÑ(AÓBˆä�Ô'¬zØœ]ô0
ô Ø×,Ñ,Ð/Ð/UÐVóð ð Ðr.   N)r*   r+   r,   re   rd   rg   rv   r-   r.   r/   ro   ro   ž   s   … àÓØƒNàñ
ó ñ
r.   ro   c                   ó  — e Zd ZU eed<   eed<   eed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   e	ed<   e
eef   ed	<   eed
<   e	e   ed<   e	e   ed<    edd¬«      Zee   ed<   d„ Zed„ «       Zed„ «       Zed„ «       Zd„ Zd„ Zy)Ú
TaskResultrR   Úidr   r   r   r   r   rJ   rK   r6   r   r   FN)Úinitr   r   c                 ó¬   — t         j                  | dt        | j                  «      «       t         j                  | dt        | j                  «      «       y )NrJ   rK   )ÚobjectÚ__setattr__r   rJ   rK   r>   s    r/   r@   zTaskResult.__post_init__Æ   s8   € Ü×Ñ˜4 ¬¸¿	¹	Ó)BÔCÜ×Ñ˜4 ¬>¸$¿+¹+Ó+FÕGr.   c                 óº   — | j                   t        j                  k(  r| j                  S | j                   t        j                  k(  rt        d«      ‚t        d«      ‚)z¬
        The return value of the task.

        If the task didn't succeed, an exception is raised.
        This is to distinguish against the task returning None.
        zTask failedzTask has not finished yet)r   r    r(   r   r&   ru   r>   s    r/   Úreturn_valuezTaskResult.return_valueÊ   sM   € ð �;‰;Ô*×5Ñ5Ò5Ø×%Ñ%Ð%Ø�[‰[Ô,×3Ñ3Ò3Ü˜]Ó+Ð+äÐ8Ó9Ð9r.   c                 óZ   — | j                   t        j                  t        j                  hv S r;   )r   r    r&   r(   r>   s    r/   Úis_finishedzTaskResult.is_finishedÙ   s$   € à�{‰{Ô/×6Ñ6Ô8H×8SÑ8SÐTÐTÐTr.   c                 ó,   — t        | j                  «      S r;   )Úlenr   r>   s    r/   ÚattemptszTaskResult.attemptsÝ   s   € ä�4—?‘?Ó#Ð#r.   c           	      óÂ   — | j                   j                  «       j                  | j                  «      }t        D ]#  }t
        j                  | |t        ||«      «       Œ% y)z0Reload the cached task data from the task store.N)rR   r<   rQ   ry   ÚTASK_REFRESH_ATTRSr|   r}   Úgetattr©r?   Úrefreshed_taskÚattrs      r/   ÚrefreshzTaskResult.refreshá   sM   € àŸ™×.Ñ.Ó0×;Ñ;¸D¿G¹GÓDˆä&ò 	JˆDÜ×Ñ˜t T¬7°>À4Ó+HÕIñ	Jr.   c           	   ƒ   óÞ   K  — | j                   j                  «       j                  | j                  «      ƒ d{  –—† }t        D ]#  }t
        j                  | |t        ||«      «       Œ% y7 Œ1­w)zA
        Reload the cached task data from the task store
        N)rR   r<   rX   ry   r†   r|   r}   r‡   rˆ   s      r/   ÚarefreshzTaskResult.arefreshè   s\   è ø€ ð  $Ÿy™y×4Ñ4Ó6×BÑBÀ4Ç7Á7ÓK×KˆÜ&ò 	JˆDÜ×Ñ˜t T¬7°>À4Ó+HÕIñ	Jð Lús   ‚7A-¹A+º2A-)r*   r+   r,   r"   rd   re   r    r   r   Úlistr   r	   ro   r   r   r@   rg   r   r�   r„   r‹   r�   r-   r.   r/   rx   rx   ±   sÑ   … à
ƒJàƒGØÓØ˜(Ñ#Ó#Ø˜Ñ"Ó"Ø˜(Ñ#Ó#ð   Ñ)Ó)à
ƒJØ��c�‰NÓØƒLØ�‰OÓØ�S‘	Óá#(¨e¸TÔ#B€M�8˜C‘=ÓBòHð ñ:ó ð:ð ñUó ðUð ñ$ó ð$òJóJr.   rx   c                   ó(   — e Zd ZU eed<   ed„ «       Zy)ÚTaskContextÚtask_resultc                 ó.   — | j                   j                  S r;   )r‘   r„   r>   s    r/   ÚattemptzTaskContext.attemptõ   s   € à×Ñ×(Ñ(Ð(r.   N)r*   r+   r,   rx   rd   rg   r“   r-   r.   r/   r�   r�   ñ   s   … àÓàñ)ó ñ)r.   r�   r;   )&Údataclassesr   r   r   r   Úinspectr   r   Útypingr	   r
   r   r   Úasgiref.syncr   r   Údjango.db.models.enumsr   Údjango.utils.jsonr   Údjango.utils.module_loadingr   Údjango.utils.translationr   Ú
exceptionsr   ÚDEFAULT_TASK_BACKEND_ALIASÚDEFAULT_TASK_PRIORITYÚDEFAULT_TASK_QUEUE_NAMEÚTASK_MAX_PRIORITYÚTASK_MIN_PRIORITYr†   r    r"   rR   ro   rx   r�   r-   r.   r/   ú<module>r¢      s  ðß 1Ñ 1Ý ß 0ß 0Ó 0ç 5å .Ý ,Ý 5Ý 2å *à&Ð ØÐ Ø#Ð ØÐ ØÐ ò	Ð ôE�{ô Eñ �$˜d¨DÔ1÷VBð VBó 2ðVBðt ðð #Ø&Ø&Øôñ2 �$˜d¨DÔ1÷ð ó 2ðñ$ �$˜d¨DÔ1÷<Jð <Jó 2ð<Jñ~ �$˜d¨DÔ1÷)ð )ó 2ñ)r.   