mirror of
https://github.com/langgenius/dify-plugin-daemon.git
synced 2026-07-21 17:25:23 -04:00
fix: skip waiting if error occured (#337)
* fix: skip waiting if error occured * Update internal/core/plugin_manager/watcher.go Co-authored-by: Rhys <nghuutho74@gmail.com> * fix: handle nil error channels in plugin manager --------- Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com> Co-authored-by: Yeuoly <admin@srmxy.cn>
This commit is contained in:
@@ -75,18 +75,25 @@ func (p *PluginManager) handleNewLocalPlugins() {
|
||||
}
|
||||
|
||||
for _, plugin := range plugins {
|
||||
log.Info("launching local plugin: %s", plugin.PluginID())
|
||||
_, launchedChan, errChan, err := p.launchLocal(plugin)
|
||||
if err != nil {
|
||||
log.Error("launch local plugin failed: %s", err.Error())
|
||||
}
|
||||
|
||||
// consume error, avoid deadlock
|
||||
for err := range errChan {
|
||||
log.Error("plugin launch error: %s", err.Error())
|
||||
// avoid receiving nil channel
|
||||
if errChan != nil {
|
||||
// consume error, avoid deadlock
|
||||
for err := range errChan {
|
||||
log.Error("plugin launch error: %s", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
// wait for plugin launched
|
||||
<-launchedChan
|
||||
// avoid receiving nil channel
|
||||
if launchedChan != nil {
|
||||
// wait for plugin launched
|
||||
<-launchedChan
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user