Closed Quan666 closed 3 years ago
我的 ELF_RSS 插件创建 的 IntervalTrigger 间隔触发任务,在运行一段时间后(2~3左右),会出现某个任务一直报如下警告,导致该任务不能正常进行,像卡住一样。
[WARNING] apscheduler | Execution of job "check_update (trigger: interval[0:05:00], next run at: 2021-03-13 18:58:47 CST)" skipped: maximum number of running instances reached (1)
我目前的解决措施是使用一个装饰器来设置超时时间,主动结束任务。 相关代码:https://github.com/Quan666/ELF_RSS/blame/6d95b84010d84a8fd889e483a0579d98db25ffe8/src/plugins/ELF_RSS2/RSS/util.py#L1
这在开始运行一段时间内是正常工作的 但时间久了会出现上面同样的警告,然后导致不能按预期运行。
我的定时器创建相关代码:https://github.com/Quan666/ELF_RSS/blob/2.0/src/plugins/ELF_RSS2/RSS/my_trigger.py
Linux Centos7.x Docker version 1.13.1, build 0be3e21/1.13.1 Python 3.8 APScheduler~=3.7.0 定时器任务数量:20+
未能复现,但在运行一段时间后会出现
https://github.com/Quan666/ELF_RSS/issues/48
这是 apscheduler 的设计导致的
apscheduler
max_instances=1导致同时只能有一个任务实例执行,如果下一次触发的时候上一个任务尚未执行完毕就会跳过这一次执行
max_instances=1
所以我给他设置了超时时间,保证他不会出现上个任务未执行完毕的情况
描述
我的 ELF_RSS 插件创建 的 IntervalTrigger 间隔触发任务,在运行一段时间后(2~3左右),会出现某个任务一直报如下警告,导致该任务不能正常进行,像卡住一样。
我目前的解决措施是使用一个装饰器来设置超时时间,主动结束任务。 相关代码:https://github.com/Quan666/ELF_RSS/blame/6d95b84010d84a8fd889e483a0579d98db25ffe8/src/plugins/ELF_RSS2/RSS/util.py#L1
这在开始运行一段时间内是正常工作的 但时间久了会出现上面同样的警告,然后导致不能按预期运行。
我的定时器创建相关代码:https://github.com/Quan666/ELF_RSS/blob/2.0/src/plugins/ELF_RSS2/RSS/my_trigger.py
环境:
复现:
未能复现,但在运行一段时间后会出现