HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/celery/fixups/__pycache__/django.cpython-39.pyc
a

X>h�@sLdZddlZddlZddlZddlmZmZddlmZddlm	Z	m
Z
mZmZm
Z
mZddlmZddlmZddlmZmZdd	lmZmZe
r�dd
lmZddlmZddlmZdd
lmZddl m!Z!ddl"m#Z#Gdd�de�Z$dZ%dZ&e	dd�dd�Z'ddd�dd�Z(d$de)e
dd�dd �Z*Gd!d�d�Z+Gd"d#�d#�Z,dS)%zDjango-specific customization.�N)�datetime�timezone)�
import_module)�IO�
TYPE_CHECKING�Any�List�Optional�cast��symbol_by_name)�cached_property)�_state�signals)�FixupWarning�ImproperlyConfigured)�
ModuleType)�Protocol)�BaseDatabaseWrapper)�ConnectionHandler)�Celery)�Taskc@seZdZUeed<dS)�DjangoDBModule�connectionsN)�__name__�
__module__�__qualname__r�__annotations__�rr�>/usr/local/lib/python3.9/site-packages/celery/fixups/django.pyrs
r)�DjangoFixup�fixupzpEnvironment variable DJANGO_SETTINGS_MODULE is defined
but Django isn't installed.  Won't apply Django fix-ups!
)�fh�returnc
Cs0zt�|���Wntttfy*Yn0dS�N)�os�close�fileno�AttributeError�OSError�	TypeError)r"rrr�_maybe_close_fd%sr+r)�djangor#cCs|jdkrtd��dS)N)��z)Celery 5.x requires Django 1.11 or later.)�VERSIONr)r,rrr�_verify_django_version-s
r0�DJANGO_SETTINGS_MODULErr )�app�envr#cCsdtj�|�}|r`d|j��vr`zddl}Wn tyJt�t	t
��Yn0t|�t|��
�SdS)z;Install Django fixup if settings module environment is set.r,rN)r%�environ�get�
loader_cls�lowerr,�ImportError�warnings�warnr�ERR_NOT_INSTALLEDr0r �install)r2r3ZSETTINGS_MODULEr,rrrr!2sr!c@s�eZdZdZdd�dd�Zdd�dd�Zed	d�d
d��Zejd	dd
�dd��Ze	dd�dd�Z
e	dd�dd�Zdee
d�dd�Zeed�dd�Zee
d�dd��ZdS)r z"Fixup installed when using Django.r)r2cCs$||_tjdur|j��d|_dSr$)r2rZdefault_app�set_default�
_worker_fixup��selfr2rrr�__init__Cs

zDjangoFixup.__init__�r#cCsXtj�dt���td�|_|j|jj	_|jj
s8d|j_tj
�|j�tj�|j�|S)Nr�django.conf:settingsz%celery.contrib.django.task:DjangoTask)�sys�path�insertr%�getcwdr�	_settings�nowr2�loaderZ_custom_task_cls_usedZtask_clsrZimport_modules�connect�on_import_modulesZworker_init�on_worker_init�r@rrrr<Is
zDjangoFixup.install�DjangoWorkerFixupcCs|jdurt|j�|_|jSr$)r>rOr2rNrrr�worker_fixupYs
zDjangoFixup.worker_fixupN)�valuer#cCs
||_dSr$)r>)r@rQrrrrP_s��kwargsr#cKs|j��dSr$)rP�validate_models�r@rSrrrrLcszDjangoFixup.on_import_modulescKs|j��dSr$)rPr<rUrrrrMgszDjangoFixup.on_worker_initF)�utcr#cCs|rt�tj�S|��Sr$)rrIrrV�_now)r@rVrrrrIjszDjangoFixup.nowcCsddlm}dd�|��D�S)Nr)�appscSsg|]
}|j�qSr)�name)�.0�configrrr�
<listcomp>o�z2DjangoFixup.autodiscover_tasks.<locals>.<listcomp>)Zdjango.appsrXZget_app_configs)r@rXrrr�autodiscover_tasksmszDjangoFixup.autodiscover_taskscCstd�S)Nzdjango.utils.timezone:nowrrNrrrrWqszDjangoFixup._now)F)rrr�__doc__rAr<�propertyrP�setterrrLrM�boolrrIr�strr^r
rWrrrrr @sc@s�eZdZdZddd�dd�Zdd�dd	�Zdd�d
d�Zdd�dd
�Zedd�dd�Z	ddd�dd�Z
dedd�dd�Zdedd�dd�Zedd�dd�Z
d#edd�dd �Zdd�d!d"�ZdS)$rOrrN)r2r#cCsV||_|jj�dd�|_tdtd��|_td�|_td�|_	td�f|_
td�|_dS)NZCELERY_DB_REUSE_MAXrz	django.dbzdjango.core.cacherCzdjango.db.utils.InterfaceErrorzdjango.db:DatabaseError)r2�confr5�db_reuse_maxr
r�_db�_cacherrH�interface_errors�
DatabaseErrorr?rrrrAys

�zDjangoWorkerFixup.__init__rBcCsddl}|��dS)Nr)r,�setup)r@r,rrr�django_setup�szDjangoWorkerFixup.django_setupcCs*ddlm}|��tj�d�s&|�dS)Nr)�
run_checksZCELERY_SKIP_CHECKS)Zdjango.core.checksrlrkr%r4r5)r@rlrrrrT�sz!DjangoWorkerFixup.validate_modelscCsLtj�|j�tj�|j�tj�|j�tj�|j	�|��|�
�|Sr$)rZbeat_embedded_initrK�close_databaseZtask_prerun�on_task_prerunZtask_postrun�on_task_postrunZworker_process_init�on_worker_process_init�close_cacherNrrrr<�szDjangoWorkerFixup.installrRcKsRtj�d�r|��|jj��D]}|r |jr |�|�q |j	dd�|�
�dS)NZFORKED_BY_MULTIPROCESSINGT)�force)r%r4r5rTrfr�all�
connection�_maybe_close_db_fd�_close_databaserq)r@rS�crrrrp�s

z(DjangoWorkerFixup.on_worker_process_initr)rwr#cCsNz4|j�t|j�Wd�n1s(0YWn|jyHYn0dSr$)Zwrap_database_errorsr+rtrh)r@rwrrrru�s
,z$DjangoWorkerFixup._maybe_close_db_fdr)�senderrSr#cKst|jdd�s|��dS)zCalled before every task.�is_eagerFN)�getattr�requestrm�r@rxrSrrrrn�sz DjangoWorkerFixup.on_task_preruncKs"t|jdd�s|��|��dS)NryF)rzr{rmrqr|rrrro�sz!DjangoWorkerFixup.on_task_postruncKs>|js|��S|j|jdkr,d|_|��|jd7_dS)N�rr-)rerv�_db_recyclesrUrrrrm�sz DjangoWorkerFixup.close_databaseF)rrr#cCs�|jj��D]r}z|r |��n|��Wq|jy>Yq|jy|}z&t|�}d|vrhd|vrh�WYd}~qd}~00qdS)N�closedz
not connected)rfrrsr&Zclose_if_unusable_or_obsoleterhrirc)r@rr�conn�excZstr_excrrrrv�s
z!DjangoWorkerFixup._close_databasec	Cs*z|j��Wnttfy$Yn0dSr$)rgZclose_cachesr*r(rNrrrrq�szDjangoWorkerFixup.close_cache)F)rrrr~rArkrTr<rrprurnrormrbrvrqrrrrrOvs	rO)r1)-r_r%rDr9rr�	importlibr�typingrrrrr	r
Zkombu.utils.importsrZkombu.utils.objectsr
ZceleryrrZcelery.exceptionsrr�typesrrZdjango.db.backends.base.baserZdjango.db.utilsrZcelery.app.baserZcelery.app.taskrr�__all__r;r+r0rcr!r rOrrrr�<module>s2 6