
    MȂi                         S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJrJrJrJr  S SKJr  S SKJr  S S	KJrJr   " S
 S\S9rg)    )ABCMetaabstractmethod)iscoroutinefunction)sync_to_async)settings)DEFAULT_TASK_QUEUE_NAME)DEFAULT_TASK_PRIORITYTASK_MAX_PRIORITYTASK_MIN_PRIORITYTask)InvalidTask)timezone)get_func_argsis_module_level_functionc                   \    \ rS rSr\rSrSrSrSr	S r
S r\S 5       rS rS rS rS	 rS
rg)BaseTaskBackend   Fc                     Xl         [        UR                  S[        /5      5      U l        UR                  S0 5      U l        g )NQUEUESOPTIONS)aliassetgetr   queuesoptions)selfr   paramss      KD:\sksbv-state-backend\venv\Lib\site-packages\django/tasks/backends/base.py__init__BaseTaskBackend.__init__%   s4    
&**X0G/HIJzz)R0    c                    [        UR                  5      (       d  [        S5      eU R                  (       d%  [	        UR                  5      (       a  [        S5      e[        UR                  5      nUR                  (       a  U(       a	  US   S:w  a  [        S5      eU R                  (       d  UR                  [        :w  a  [        S5      eUR                  [        :  d7  UR                  [        :  d#  [        UR                  5      UR                  :w  a  [        S[         S[         S	35      eU R                  (       d  UR                  b  [        S5      e[        R                   (       a=  UR                  b0  ["        R$                  " UR                  5      (       d  [        S5      eU R&                  (       a4  UR(                  U R&                  ;  a  [        SUR(                   S35      eg
g
)zE
Determine whether the provided Task can be executed by the backend.
z0Task function must be defined at a module level.z%Backend does not support async Tasks.r   contextzCTask takes context but does not have a first argument of 'context'.z3Backend does not support setting priority of tasks.z(priority must be a whole number between z and .Nz#Backend does not support run_after.z$run_after must be an aware datetime.zQueue 'z' is not valid for backend.)r   funcr   supports_async_taskr   r   takes_contextsupports_prioritypriorityr	   r   r
   intsupports_defer	run_afterr   USE_TZr   is_awarer   
queue_name)r   tasktask_func_argss      r   validate_taskBaseTaskBackend.validate_task*   s{    (		22PQQ'',?		,J,JEFF&tyy1."3y"@U  %%$--;P*PSTTMM--}}004==!T]]2:;L:MU$%Q( 
 ""t~~'ACDD OO*%%dnn55DEE;;4??$++='88STUU >;r!   c                     g)zQueue up a task to be executed.N r   r0   argskwargss       r   enqueueBaseTaskBackend.enqueueU   s    r!   c                 P   #    [        U R                  SS9" XUS9I Sh  vN $  N7f)z7Queue up a task function (or coroutine) to be executed.Tthread_sensitive)r0   r7   r8   N)r   r9   r6   s       r   aenqueueBaseTaskBackend.aenqueueY   s,     "4<<$G
 
 	
 
s   &$&c                     [        S5      e)z\
Retrieve a task result by id.

Raise TaskResultDoesNotExist if such result does not exist.
z?This backend does not support retrieving or refreshing results.)NotImplementedErrorr   	result_ids     r   
get_resultBaseTaskBackend.get_result_   s     "M
 	
r!   c                 N   #    [        U R                  SS9" US9I Sh  vN $  N7f)zSee get_result().Tr<   )rC   N)r   rD   rB   s     r   aget_resultBaseTaskBackend.aget_resulti   s*     "4??TJ
 
 	
 
s   %#%c                     / $ )Nr5   )r   r8   s     r   checkBaseTaskBackend.checko   s    	r!   )r   r   r   N)__name__
__module____qualname____firstlineno__r   
task_classr+   r&   supports_get_resultr(   r   r2   r   r9   r>   rD   rG   rJ   __static_attributes__r5   r!   r   r   r      sZ    J N     1
)VV . .


r!   r   )	metaclassN)abcr   r   inspectr   asgiref.syncr   django.confr   django.tasksr   django.tasks.baser	   r
   r   r   django.tasks.exceptionsr   django.utilsr   django.utils.inspectr   r   r   r5   r!   r   <module>r]      s7    ' ' &   0  0 ! H] ]r!   