
    kh                         d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	m
Z
  e j        e          Z G d de          ZdS )    N)apps)BaseCommand)get_jobs
print_jobs)setup_loggersignalcommandc                   R     e Zd ZdZg dZ fdZd Zd Zd Ze	d             Z
 xZS )Commandz Runs scheduled maintenance jobs.)minutelyquarter_hourlyhourlydailyweeklymonthlyyearlyc                     t                                          |           |                    dddd                    | j                  z             |                    dddd	d
d           d S )Nwhen?zoptions: %s, )nargshelpz--listz-l
store_true	list_jobsFz$List all jobs with their description)actiondestdefaultr   )superadd_argumentsadd_argumentjoinwhen_options)selfparser	__class__s     d/var/www/histauto/venv/lib/python3.11/site-packages/django_extensions/management/commands/runjobs.pyr   zCommand.add_arguments   s    f%%%#MDIId>O4P4P$P 	 	
 	
 	
 	7 	 	
 	
 	
 	
 	
    c                 h    t          | j        dd                    | j                             d S )Nz Please specify: r   )printr   r    r!   )r"   s    r%   	usage_msgzCommand.usage_msg(   s3    DIId>O4P4P4PQRRRRRr&   c                 r   |d         }t          |d          }t          |                                          D ]{\  }}|||f         }|dk    rt                              d|||           	  |                                             P# t          $ r t                              d||           Y xw xY wd S )N	verbosityT)only_scheduled   zExecuting %s job: %s (app: %s)z"ERROR OCCURED IN JOB: %s (APP: %s))r   sortedkeysloggerinfoexecute	Exception	exception)r"   r   optionsr+   jobsapp_namejob_namejobs           r%   runjobszCommand.runjobs+   s    K(	T222"("5"5 		 		Hh(+,C1}}<dHhWWW     8(H    		 		s   .B&B43B4c                 `   ddl m} ddlm} |d         }|j        D ])}	 t          |dz   dddg           # t          $ r Y &w xY wd t          j                    D             D ]I}|dk    rJd		                    |j
                            d	          d
d                   }t          d|d|           |dk    r|j                            ||           v|dk    r|j                            ||           |dk    r|j                            ||           |dk    r|j                            ||           |dk    r|j                            ||           |dk    r|j                            ||           '|dk    r|j                            ||           Kd
S )zRun jobs from the signalsr   )signals)settingsr+   z.management c              3   2   K   | ]}|j         	|j         V  d S )N)models_module).0apps     r%   	<genexpr>z-Command.runjobs_by_signals.<locals>.<genexpr>F   sA       
 
"%3CT

 
 
 
 
 
r&   r-   .NzSending z job signal for: r   )senderrB   r   r   r   r   r   r   )django_extensions.managementr<   django.confr=   INSTALLED_APPS
__import__ImportErrorr   get_app_configsr    __name__rsplitr(   run_minutely_jobssendrun_quarter_hourly_jobsrun_hourly_jobsrun_daily_jobsrun_weekly_jobsrun_monthly_jobsrun_yearly_jobs)r"   r   r5   r<   r=   r+   r7   rB   s           r%   runjobs_by_signalszCommand.runjobs_by_signals9   s9    	988888((((((K(	 / 	 	H8m3RbTBBBB   
 
)-)=)?)?
 
 
 	B 	BC 1}}88CL$7$7$<$<SbS$ABBxxHIIIz!!)..cs.CCCC)))/44CS4IIII!!',,CS,AAAA&++3C+@@@@!!',,CS,AAAA""(--Sc-BBBB!!',,CS,AAA'	B 	Bs   6
AAc                    |d         }t          t          | j                   |d         rt          |ddd           d S || j        v r.|                     ||           |                     ||           d S |                                  d S )Nr   r   T)r,   	show_whenshow_appname)r   r0   stdoutr   r!   r:   rW   r)   )r"   argsr5   r   s       r%   handlezCommand.handle[   s    vVT[))); 	tDDtTTTTTTT&&&LLw'''##D'22222NNr&   )rM   
__module____qualname__r   r!   r   r)   r:   rW   r   r]   __classcell__)r$   s   @r%   r
   r
      s        -D  L
 
 
 
 
S S S   B  B  BD   ]    r&   r
   )loggingdjango.appsr   django.core.management.baser   !django_extensions.management.jobsr   r   "django_extensions.management.utilsr   r   	getLoggerrM   r0   r
    r&   r%   <module>rh      s           3 3 3 3 3 3 B B B B B B B B J J J J J J J J		8	$	$Z Z Z Z Zk Z Z Z Z Zr&   