riku
2024-01-10 a9e8e27e0503552b7b2a99c821da732175d4f071
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
U
>7Le- ã@sHddlmZddlZddlZddlmZddlmZGdd„deƒZ    dS)é)ÚIntervalTriggerN)ÚBackgroundScheduler)ÚRequestTaskSettingc@sleZdZdZddœdd„Zedœdd„Zd    d
„Zedœd d „Zdd d„Z    dd„Z
dd„Z dd„Z dd„Z dS)Ú TaskScheduleruF
    ä»»åŠ¡è°ƒåº¦ç±»ï¼Œç®¡ç†æŽ§åˆ¶æ•°æ®çˆ¬å–ä»»åŠ¡æ‰§è¡Œæ—¶æœº
    N)ÚreturncCstƒ|_d|_dS©N)rÚ
_schedulerÚ_request_job_id©Úself©r úCe:\PycharmProject\fugitive_dust_new\src\scheduler\task_scheduler.pyÚ__init__ szTaskScheduler.__init__)Úconfigc    Cs,d|_|jj|d|j|j|j|jdddS)u*根据爬取任务配置信息添加任务Z request_jobÚintervaliX)ÚsecondsÚ
start_dateÚend_dateÚidZmisfire_grace_timeN)r    rÚadd_jobÚrequest_interval_secondsÚrequest_start_timeÚrequest_end_time)r Ú    task_funcrr r r Úadd_task_by_configsÿz TaskScheduler.add_task_by_configcCs|jdks|j |j¡dS)u 移除任务N)r    rÚ
remove_jobr
r r r rs
zTaskScheduler.remove_jobcCs.|jdkrdS|jj|j|j|j|jddS)u*根据爬取任务配置信息修改任务N©rrr)r    rZ
modify_jobrrr)r rr r r Úmodify_task_by_configs 
ÿz#TaskScheduler.modify_task_by_configcCs|jj|d|||ddS)u 添加任务rrN)rr)r rrZintervelrr r r Úadd_task&szTaskScheduler.add_taskcCs|jjs|j ¡dS)u 开始任务N)rÚrunningÚstartr
r r r Ú
start_task,szTaskScheduler.start_taskcCs|j ¡dS)u 关闭任务N)rÚshutdownr
r r r Ú shutdown_task1szTaskScheduler.shutdown_taskcCs |jdk Sr)r    r
r r r Úhas_request_job5szTaskScheduler.has_request_jobcCsVd}|j ¡}tj ¡jt d¡d}|D]&}| |¡}t|ƒdk}|dkr*qRq*|S)u6判断当前线程内的所有定时任务是否完成TÚUTC)ÚtzinforF)    rZget_jobsÚdatetimeÚnowÚreplaceÚpytzÚtimezoneZ_get_run_timesÚlen)r ZfinishÚjobsr(ÚjÚtr r r Ú    is_finish8s
 
 zTaskScheduler.is_finish)N)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrrrrr!r#r$r0r r r r rs    
r)
Zapscheduler.triggers.intervalrr'r*Z!apscheduler.schedulers.backgroundrÚdb.models.tablesrÚobjectrr r r r Ú<module>s