fix bug
This commit is contained in:
parent
7d76ee2e65
commit
6b24ccdc35
@ -41,7 +41,7 @@ class Scheduler(metaclass=Singleton):
|
|||||||
# 定时服务
|
# 定时服务
|
||||||
_scheduler = BackgroundScheduler(timezone=settings.TZ,
|
_scheduler = BackgroundScheduler(timezone=settings.TZ,
|
||||||
executors={
|
executors={
|
||||||
'default': ThreadPoolExecutor(20)
|
'default': ThreadPoolExecutor(100)
|
||||||
})
|
})
|
||||||
# 退出事件
|
# 退出事件
|
||||||
_event = threading.Event()
|
_event = threading.Event()
|
||||||
@ -292,14 +292,16 @@ class Scheduler(metaclass=Singleton):
|
|||||||
# 开始注册插件服务
|
# 开始注册插件服务
|
||||||
for service in plugin_services:
|
for service in plugin_services:
|
||||||
try:
|
try:
|
||||||
sid = f"{pid}_{service['id']}"
|
sid = f"{service['id']}"
|
||||||
self._jobs[sid] = {
|
job_id = sid.split("|")[0]
|
||||||
"func": service["func"],
|
if job_id not in self._jobs:
|
||||||
"name": service["name"],
|
self._jobs[job_id] = {
|
||||||
"pid": pid,
|
"func": service["func"],
|
||||||
"plugin_name": plugin_name,
|
"name": service["name"],
|
||||||
"running": False,
|
"pid": pid,
|
||||||
}
|
"plugin_name": plugin_name,
|
||||||
|
"running": False,
|
||||||
|
}
|
||||||
self._scheduler.add_job(
|
self._scheduler.add_job(
|
||||||
self.start,
|
self.start,
|
||||||
service["trigger"],
|
service["trigger"],
|
||||||
@ -307,12 +309,12 @@ class Scheduler(metaclass=Singleton):
|
|||||||
name=service["name"],
|
name=service["name"],
|
||||||
**service["kwargs"],
|
**service["kwargs"],
|
||||||
kwargs={
|
kwargs={
|
||||||
'job_id': sid
|
'job_id': job_id
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
logger.info(f"注册插件服务({plugin_name}):{service['name']}")
|
logger.info(f"注册插件{plugin_name}服务:{service['name']} - {service['trigger']}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"注册插件服务失败:{str(e)} - {service}")
|
logger.error(f"注册插件{plugin_name}服务失败:{str(e)} - {service}")
|
||||||
|
|
||||||
def remove_plugin_job(self, pid: str):
|
def remove_plugin_job(self, pid: str):
|
||||||
"""
|
"""
|
||||||
@ -350,12 +352,13 @@ class Scheduler(metaclass=Singleton):
|
|||||||
name = service.get("name")
|
name = service.get("name")
|
||||||
plugin_name = service.get("plugin_name")
|
plugin_name = service.get("plugin_name")
|
||||||
if service.get("running") and name and plugin_name:
|
if service.get("running") and name and plugin_name:
|
||||||
|
if name not in added:
|
||||||
|
added.append(name)
|
||||||
schedulers.append(schemas.ScheduleInfo(
|
schedulers.append(schemas.ScheduleInfo(
|
||||||
id=job_id,
|
id=job_id,
|
||||||
name=name,
|
name=name,
|
||||||
provider=plugin_name,
|
provider=plugin_name,
|
||||||
status="正在运行",
|
status="正在运行",
|
||||||
next_run="~"
|
|
||||||
))
|
))
|
||||||
# 获取其他待执行任务
|
# 获取其他待执行任务
|
||||||
for job in jobs:
|
for job in jobs:
|
||||||
@ -374,7 +377,7 @@ class Scheduler(metaclass=Singleton):
|
|||||||
schedulers.append(schemas.ScheduleInfo(
|
schedulers.append(schemas.ScheduleInfo(
|
||||||
id=job_id,
|
id=job_id,
|
||||||
name=job.name,
|
name=job.name,
|
||||||
provider=service.get("plugin_name", "MoviePilot"),
|
provider=service.get("plugin_name", "系统"),
|
||||||
status=status,
|
status=status,
|
||||||
next_run=next_run
|
next_run=next_run
|
||||||
))
|
))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user