浏览代码

refactor: plugin assets management

Yeuoly 10 月之前
父节点
当前提交
864b104fcc

+ 1 - 1
internal/cluster/plugin.go

@@ -241,7 +241,7 @@ func (c *Cluster) autoGCPlugins() error {
 	)
 }
 
-func (c *Cluster) IsPluginNoCurrentNode(identity plugin_entities.PluginUniqueIdentifier) bool {
+func (c *Cluster) IsPluginOnCurrentNode(identity plugin_entities.PluginUniqueIdentifier) bool {
 	_, ok := c.plugins.Load(identity.String())
 	if !ok {
 		if c.manager.Get(identity) == nil {

+ 0 - 6
internal/core/plugin_manager/basic_manager/remap_assets.go

@@ -115,9 +115,3 @@ func (r *BasicPluginRuntime) RemapAssets(
 
 	return nil
 }
-
-func (r *BasicPluginRuntime) ClearAssets() {
-	for _, id := range r.assets_ids {
-		r.mediaManager.Delete(id)
-	}
-}

+ 1 - 2
internal/core/plugin_manager/media_manager/type.go

@@ -9,7 +9,6 @@ import (
 
 	lru "github.com/hashicorp/golang-lru/v2"
 	"github.com/langgenius/dify-plugin-daemon/internal/utils/log"
-	"github.com/langgenius/dify-plugin-daemon/internal/utils/strings"
 )
 
 type MediaManager struct {
@@ -32,7 +31,7 @@ func NewMediaManager(storage_path string, cache_size uint16) *MediaManager {
 // Upload uploads a file to the media manager and returns an identifier
 func (m *MediaManager) Upload(name string, file []byte) (string, error) {
 	// calculate checksum
-	checksum := sha256.Sum256(append(file, []byte(strings.RandomString(10))...))
+	checksum := sha256.Sum256(append(file, []byte(name)...))
 
 	id := hex.EncodeToString(checksum[:])
 

+ 0 - 3
internal/core/plugin_manager/remote_manager/hooks.go

@@ -101,9 +101,6 @@ func (s *DifyServer) OnClose(c gnet.Conn, err error) (action gnet.Action) {
 	// close plugin
 	plugin.onDisconnected()
 
-	// clear assets
-	plugin.ClearAssets()
-
 	// uninstall plugin
 	if plugin.assets_transferred {
 		if _mode != _PLUGIN_RUNTIME_MODE_CI {

+ 1 - 1
internal/server/endpoint.go

@@ -61,7 +61,7 @@ func (app *App) EndpointHandler(ctx *gin.Context, hook_id string, path string) {
 	}
 
 	// check if plugin exists in current node
-	if !app.cluster.IsPluginNoCurrentNode(plugin_unique_identifier) {
+	if !app.cluster.IsPluginOnCurrentNode(plugin_unique_identifier) {
 		app.redirectPluginInvokeByPluginIdentifier(ctx, plugin_unique_identifier)
 	} else {
 		service.Endpoint(ctx, &endpoint, &plugin_installation, path)

+ 1 - 1
internal/server/middleware.go

@@ -57,7 +57,7 @@ func (app *App) RedirectPluginInvoke() gin.HandlerFunc {
 		}
 
 		// check if plugin in current node
-		if !app.cluster.IsPluginNoCurrentNode(
+		if !app.cluster.IsPluginOnCurrentNode(
 			identity,
 		) {
 			app.redirectPluginInvokeByPluginIdentifier(ctx, identity)