12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package server
- import (
- "github.com/langgenius/dify-plugin-daemon/internal/cluster"
- "github.com/langgenius/dify-plugin-daemon/internal/core/persistence"
- "github.com/langgenius/dify-plugin-daemon/internal/core/plugin_manager"
- "github.com/langgenius/dify-plugin-daemon/internal/db"
- "github.com/langgenius/dify-plugin-daemon/internal/types/app"
- "github.com/langgenius/dify-plugin-daemon/internal/utils/routine"
- )
- func (app *App) Run(config *app.Config) {
- // init routine pool
- routine.InitPool(config.RoutinePoolSize)
- // init db
- db.Init(config)
- // create manager
- manager := plugin_manager.InitGlobalManager(config)
- // create cluster
- app.cluster = cluster.NewCluster(config, manager)
- // register plugin lifetime event
- manager.AddPluginRegisterHandler(app.cluster.RegisterPlugin)
- // init manager
- manager.Launch(config)
- // init persistence
- persistence.InitPersistence(config)
- // launch cluster
- app.cluster.Launch()
- // start http server
- app.server(config)
- // block
- select {}
- }
|