mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-08 00:46:57 +08:00
fix 插件分身服务注册
This commit is contained in:
@@ -526,11 +526,7 @@ def clone_plugin(plugin_id: str,
|
|||||||
|
|
||||||
if success:
|
if success:
|
||||||
# 注册插件服务
|
# 注册插件服务
|
||||||
Scheduler().update_plugin_job(message)
|
reload_plugin(message)
|
||||||
# 注册菜单命令
|
|
||||||
Command().init_commands(message)
|
|
||||||
# 注册插件API
|
|
||||||
register_plugin_api(message)
|
|
||||||
# 将分身插件添加到原插件所在的文件夹中
|
# 将分身插件添加到原插件所在的文件夹中
|
||||||
_add_clone_to_plugin_folder(plugin_id, message)
|
_add_clone_to_plugin_folder(plugin_id, message)
|
||||||
return schemas.Response(success=True, message="插件分身创建成功")
|
return schemas.Response(success=True, message="插件分身创建成功")
|
||||||
|
|||||||
+9
-8
@@ -540,17 +540,18 @@ class Scheduler(metaclass=Singleton):
|
|||||||
self.remove_plugin_job(pid)
|
self.remove_plugin_job(pid)
|
||||||
# 获取插件服务列表
|
# 获取插件服务列表
|
||||||
with self._lock:
|
with self._lock:
|
||||||
|
plugin_manager = PluginManager()
|
||||||
try:
|
try:
|
||||||
plugin_services = PluginManager().get_plugin_services(pid=pid)
|
plugin_services = plugin_manager.get_plugin_services(pid=pid)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"运行插件 {pid} 服务失败:{str(e)} - {traceback.format_exc()}")
|
logger.error(f"运行插件 {pid} 服务失败:{str(e)} - {traceback.format_exc()}")
|
||||||
return
|
return
|
||||||
# 获取插件名称
|
# 获取插件名称
|
||||||
plugin_name = PluginManager().get_plugin_attr(pid, "plugin_name")
|
plugin_name = plugin_manager.get_plugin_attr(pid, "plugin_name")
|
||||||
# 开始注册插件服务
|
# 开始注册插件服务
|
||||||
for service in plugin_services:
|
for service in plugin_services:
|
||||||
try:
|
try:
|
||||||
sid = f"{service['id']}"
|
sid = f"{pid}_{service['id']}"
|
||||||
job_id = sid.split("|")[0]
|
job_id = sid.split("|")[0]
|
||||||
self.remove_plugin_job(pid, job_id)
|
self.remove_plugin_job(pid, job_id)
|
||||||
self._jobs[job_id] = {
|
self._jobs[job_id] = {
|
||||||
@@ -599,8 +600,8 @@ class Scheduler(metaclass=Singleton):
|
|||||||
name = service.get("name")
|
name = service.get("name")
|
||||||
provider_name = service.get("provider_name")
|
provider_name = service.get("provider_name")
|
||||||
if service.get("running") and name and provider_name:
|
if service.get("running") and name and provider_name:
|
||||||
if name not in added:
|
if job_id not in added:
|
||||||
added.append(name)
|
added.append(job_id)
|
||||||
schedulers.append(schemas.ScheduleInfo(
|
schedulers.append(schemas.ScheduleInfo(
|
||||||
id=job_id,
|
id=job_id,
|
||||||
name=name,
|
name=name,
|
||||||
@@ -609,11 +610,11 @@ class Scheduler(metaclass=Singleton):
|
|||||||
))
|
))
|
||||||
# 获取其他待执行任务
|
# 获取其他待执行任务
|
||||||
for job in jobs:
|
for job in jobs:
|
||||||
if job.name not in added:
|
job_id = job.id.split("|")[0]
|
||||||
added.append(job.name)
|
if job_id not in added:
|
||||||
|
added.append(job_id)
|
||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
job_id = job.id.split("|")[0]
|
|
||||||
service = self._jobs.get(job_id)
|
service = self._jobs.get(job_id)
|
||||||
if not service:
|
if not service:
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user