a
    Cøgú  ã                   @   sÄ   d dl 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
mZmZ ddlmZmZ e  d	¡Zeeƒeedd
œdd„ƒZeeƒee
 eeddœdd„ƒZeeƒee
 eeddœdd„ƒZdS )é    N)ÚType)ÚLocal)Úsetting_changed)Úreceiver)ÚBaseTaskBackendÚResultStatusÚ
TaskResulté   )Útask_enqueuedÚtask_finishedÚdjango_tasks)ÚsettingÚkwargsÚreturnc                 K   s2   | dkr.ddl m} | d¡ |_|_tƒ |_dS )zC
    Reset the connection handler whenever the settings change
    ZTASKSr   )ÚtasksN)r   r   Zconfigure_settingsZ	_settingsÚsettingsr   Z_connections)r   r   r   © r   ú[/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/django_tasks/signal_handlers.pyÚclear_tasks_handlers   s    r   )ÚsenderÚtask_resultr   r   c                 K   s   t  d|j|jj|j¡ d S )Nz&Task id=%s path=%s enqueued backend=%s)ÚloggerÚdebugÚidÚtaskÚmodule_pathÚbackend)r   r   r   r   r   r   Úlog_task_enqueued   s    ür   c                 K   s4   |j tjkrtj}ntj}|d|j|jj|j ƒ d S )NzTask id=%s path=%s state=%s)	Ústatusr   ZFAILEDr   Ú	exceptionÚinfor   r   r   )r   r   r   Z
log_methodr   r   r   Úlog_task_finished'   s    ür!   )ÚloggingÚtypingr   Zasgiref.localr   Zdjango.core.signalsr   Zdjango.dispatchr   r   r   r   r   Zsignalsr
   r   Ú	getLoggerr   ÚstrÚdictr   r   r!   r   r   r   r   Ú<module>   s"   

þ
þ