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/utils/__pycache__/timer2.cpython-39.pyc
a

X>h��@s�dZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZm
Z
mZmZddlmZddlmZdd	lmZmZej�d
�ZdZGdd
�d
ej�ZdS)z�Scheduler for Python functions.

.. note::
    This is used for the thread-based worker only,
    not for amqp/redis/sqs/qpid where :mod:`kombu.asynchronous.timer` is used.
�N)�count)�TIMEOUT_MAX)�sleep)�Any�Callable�Iterator�Optional�Tuple)�Entry)�Timer)�logger�to_timestamp�TIMER_DEBUG)r
�Schedulerr
c	s�eZdZUdZeZeZdZeed<dZ	e
eegdfed<e
d�Ze
ed<erfeedd��fd	d
�Zd6e
ee
eegdfe
eegdfe
edgdfe
eedd��fdd
�
Ze
ed�dd�ZeZZdd�dd�Zdd�dd�Zdd�dd�Zeeeed�dd�Zd7eee
eed�dd�Zeeed�dd�Zeeed�dd �Zeeed�d!d"�Z eeed�d#d$�Z!d8eedd&�d'd(�Z"edd)�d*d+�Z#dd�d,d-�Z$ed�d.d/�Z%ed�d0d1�Z&ed�d2d3�Z'e'Z(e)e*d�d4d5��Z+�Z,S)9rz^Timer thread.

    Note:
        This is only used for transports not supporting AsyncIO.
    F�runningN�on_tick��_timer_count)�args�kwargs�returncs.ddl}td�|��t�j|i|��dS)Nrz- Timer starting)�	traceback�print�print_stack�super�start)�selfrrr��	__class__��=/usr/local/lib/python3.9/site-packages/celery/utils/timer2.pyr(szTimer.start)�schedule�on_errorr�on_start�max_intervalrrcsx|p|j||d�|_||_|p"|j|_t���t��|_t��|_	t�
�|_t�|j�|_
d|_dt|j���|_dS)N)r"r$TzTimer-)rr!r#rr�__init__�	threading�Event�_Timer__is_shutdown�_Timer__is_stopped�Lock�mutex�	Condition�	not_empty�daemon�nextr�name)rr!r"rr#r$rrrr r%.s
�



zTimer.__init__)rcCsn|j�Lt|j�\}}|durD|dur2|j�d�|Wd�SWd�n1sX0Y|j�|�S)Ng�?)r-r/�	scheduler�waitr!Zapply_entry)r�delay�entryrrr �_next_entryCs0zTimer._next_entryc
Cs�zrd|_t|j�|_|j��sN|��}|r|jr:|�|�tdurDqNt|�qz|j	�
�WntynYn0WnHty�}z0t
jd|dd�tj��t�d�WYd}~n
d}~00dS)NTzThread Timer crashed: %r)�exc_infor)r�iterr!r1r(�is_setr5rrr)�set�	TypeError�	Exceptionr�error�sys�stderr�flush�os�_exit)rr3�excrrr �runOs&




z	Timer.runcCs.|j��|jr*|j��|�t�d|_dS)NF)r(r9rr)r2�join�THREAD_TIMEOUT_MAX�rrrr �stopgs



z
Timer.stopcCs*|js&|��s&|jr|�|�|��dS�N)r�is_aliver#rrFrrr �ensure_startedns
zTimer.ensure_started)�methrrrcOsV|��|j�4t|j|�|i|��}|j��|Wd�S1sH0YdSrH)rJr+�getattrr!r-�notify)rrKrrr4rrr �	_do_enterts

zTimer._do_enter)r4�eta�priorityrcCs|jd|||d�S)NZenter_at)rP�rN)rr4rOrPrrr �enter{szTimer.entercOs|jdg|�Ri|��S)N�call_atrQ�rrrrrr rS~sz
Timer.call_atcOs|jdg|�Ri|��S)N�enter_afterrQrTrrr rU�szTimer.enter_aftercOs|jdg|�Ri|��S)N�
call_afterrQrTrrr rV�szTimer.call_aftercOs|jdg|�Ri|��S)N�call_repeatedlyrQrTrrr rW�szTimer.call_repeatedly�
)�secsrPrcCs|�|tj|�dSrH)rVr=�exit)rrYrPrrr �
exit_after�szTimer.exit_after)�trefrcCs|��dSrH)�cancel)rr\rrr r]�szTimer.cancelcCs|j��dSrH)r!�clearrFrrr r^�szTimer.clearcCs
t|�SrH)�lenrFrrr �empty�szTimer.emptycCs
t|j�SrH)r_r!rFrrr �__len__�sz
Timer.__len__cCsdS)z``bool(timer)``.TrrFrrr �__bool__�szTimer.__bool__cCs|jjSrH)r!�queuerFrrr rc�szTimer.queue)NNNNN)N)rX)-�__name__�
__module__�__qualname__�__doc__r
rr�bool�__annotations__rrr�floatrrrrrr;r%r5�__next__r/rCrGrJ�strrN�intrRrSrUrVrWr[r]r^r`rarb�__nonzero__�property�listrc�
__classcell__rrrr rsN
�
�
r)rgr@r=r&�	itertoolsrrrE�timer�typingrrrrr	Zkombu.asynchronous.timerr
rrrr
�environ�getr�__all__�Threadrrrr �<module>s