Files
gommi/lib/framework/__pycache__/class_scheduler.cpython-310.pyc

50 lines
4.4 KiB
Plaintext
Raw Normal View History

2022-04-21 19:23:01 +09:00
o
r<>`b<00>@s<>ddlZddlmZddlZddlZddlmZmZddlmZddl Z ddl
m Z ddl m Z ddlmZmZddlmZd e d
d <0B>iZd ed <0C>iZd dd<0F>ZddlmZe<18>d<11>dZee<1A>ZGdd<13>de<1C>ZdS)<14>N<><01>timezone)<02>datetime<6D> timedelta)<01>randint)<01>JobLookupError)<01>SQLAlchemyJobStore)<02>ThreadPoolExecutor<6F>ProcessPoolExecutor)<01> CronTrigger<65>defaultzsqlite:///data/db/gommi.db)<01>url<72>F<>)<02>coalesceZ max_instances)<01>
get_logger<EFBFBD>.c@s>eZdZgZdZdd<03>Zdd<05>Zdd<07>Zd d d
<EFBFBD>Zd d <0C>Z dS)<0E> SchedulerNcCs<>z|dus |dur|jrddlm}|dd<04>|_ntd<05><01>Wnty3ddlm}|dd<04>|_Ynw|j<03><07>t<08> d<07>dS)Nr)<01>GeventScheduler<65>
Asia/Seoulr<00>)<01>BackgroundSchedulerz SCHEDULER...)
<EFBFBD>
use_geventZapscheduler.schedulers.geventr<00>sched<65> ExceptionZ!apscheduler.schedulers.backgroundr<00>start<72>logger<65>debug)<04>self<6C>argsrr<00>r <00>K/Volumes/WD/Users/Work/python/gommi-server/lib/framework/class_scheduler.py<70>__init__#s <04>  <02>
zScheduler.__init__c
Cs<>t<00>d<01>zWd}|jD]B}|jsq |jdkrM|jsM|jrM|j<07>|j <09>}|durLt<00>d|j
<EFBFBD>t<00>d|<03>d}t dd<08>}|j t <0A>td <09><01>t|d
<EFBFBD>d <0B>q q |rU|<00>d <0C>t<00>d <0A>WdSty|}zt<00>d|<05>t<00>t<14><15><00>WYd}~dSd}~ww)Nz"XX first_run_check_thread_functionTrzjob_instance : %szXX job re-sched:%sFrrr<00><01>seconds<64><01> next_run_timeZscheduler_checkz%first_run_check_thread_function end!!z Exception:%s)r<00>warning<6E>job_list<73>run<75>count<6E>
is_running<EFBFBD> is_intervalr<00>get_job<6F>job_id<69>pluginr<00>modifyr<00>nowrrZ
remove_jobr<00>error<6F> traceback<63>
format_exc)rZ flag_exit<69> job_instance<63>job<6F>tmp<6D> exceptionr r r!<00>first_run_check_thread_function7sB

<02><02><02> 
 <02><08><02>
 <08><02>z)Scheduler.first_run_check_thread_functionc Cs<>g}d}|j<00><01>}|D]<5D>}|d7}i}||d<|j|d<|j<03>d<05>|d<|jt<05>td<07><01>}d}|jdkr<|d |j7}|j }|d
dkrM|d |d
7}|d
}|d dkr_|d |d 7}|d|d 7}||d<|<00>
|j<02>}|dur<>|j |d<|j |d<|j r<>|j|d<n|jdkr<>d|d<d|d<n
d|j|jf|d<|j|d<|j|d<|jdur<>|jj nd|d<|j<13>d<05>|d<|j|d<n d|d<d|d<d|d<d|d<d|d<d|d<d|d<d|d<|<01>|<05>q |S)Nrr<00>no<6E>idz%m-%d %H:%M:%Sr&rru%s일 iu %s시간 <20><u%s분 u%s초Z remain_timer*r/<00>intervali'u 항상 실행u %s분 %s초r+<00> description<6F>-<2D>running_timedelta<74> make_timer)T)rZget_jobsr;r&<00>strftimerr1r<00>daysr$Zget_job_instancer*r/<00>is_cronr=<00>interval_secondsr+r>r@rAr)<00>append) r<00>ret<65>idxr(<00>j<>entityZremainr7r6r r r!<00>get_job_list_info\sh


   

 


<EFBFBD>


<EFBFBD><06>  zScheduler.get_job_list_infoTcCs<>ddlm}|jddrm|jddro|<00>|j<04>sq||_tj<07>|<01>|j r7|j
j |j d|j |j|jdd<07>n|jrJ|j
j |j t<10>|j <0A>|jdd<08>|j
<EFBFBD>|j<04>}|rs|j rutd d
<EFBFBD>}|jt<15>td <0B><01>t|d <0C>d <0A>dSdSdSdSdSdS)Nr)<01>app<70>configZ run_by_realZ auth_statusr=)<04>minutesr$r;r)r;r<00>rrr#r%)<19> frameworkrLrM<00>
is_includer.r)rr(rFr,rZadd_jobZ job_functionr=rErDr Z from_crontabr-rr0rr1rr)rr5r)rLr6r7r r r!<00>add_job_instance<63>s@   <08>
<06>

 <02>
<EFBFBD><08>zScheduler.add_job_instancecCs|j<00>|<01>}|duS)N)rr-)rr.r6r r r!rQ<00>s zScheduler.is_include)T)
<EFBFBD>__name__<5F>
__module__<EFBFBD> __qualname__r(Zfirst_run_check_threadr"r9rKrRrQr r r r!rs%
= !r)r3<00>pytzr<00>sys<79> threadingrr<00>randomr<00>timeZapscheduler.jobstores.baserZ apscheduler.jobstores.sqlalchemyrZapscheduler.executors.poolr r
Zapscheduler.triggers.cronr Z jobstoresZexcutorsZ job_defaults<74>framework.loggerrrS<00>split<69> package_namer<00>objectrr r r r!<00><module>s$