forked from langgenius/dify-plugin-daemon
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdefault.go
More file actions
65 lines (59 loc) · 2.57 KB
/
default.go
File metadata and controls
65 lines (59 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package app
import (
"os"
"github.com/langgenius/dify-cloud-kit/oss"
"golang.org/x/exp/constraints"
)
func (config *Config) SetDefault() {
switch config.DBType {
case DB_TYPE_OCEANBASE, DB_TYPE_SEEKDB:
config.DBType = DB_TYPE_MYSQL
}
setDefaultInt(&config.ServerPort, 5002)
setDefaultInt(&config.RoutinePoolSize, 10000)
setDefaultInt(&config.LifetimeCollectionGCInterval, 60)
setDefaultInt(&config.LifetimeCollectionHeartbeatInterval, 5)
setDefaultInt(&config.LifetimeStateGCInterval, 300)
setDefaultInt(&config.DifyInvocationConnectionIdleTimeout, 120)
setDefaultInt(&config.PluginRemoteInstallServerEventLoopNums, 8)
setDefaultInt(&config.PluginRemoteInstallingMaxConn, 256)
setDefaultInt(&config.MaxPluginPackageSize, 52428800)
setDefaultInt(&config.MaxBundlePackageSize, 52428800*12)
setDefaultInt(&config.MaxServerlessTransactionTimeout, 300)
setDefaultInt(&config.PluginMaxExecutionTimeout, 10*60)
setDefaultString(&config.PluginStorageType, oss.OSS_TYPE_LOCAL)
setDefaultInt(&config.PluginMediaCacheSize, 1024)
setDefaultInt(&config.DifyPluginServerlessConnectorLaunchTimeout, 240)
setDefaultInt(&config.PluginRemoteInstallingMaxSingleTenantConn, 5)
setDefaultString(&config.DBSslMode, "disable")
setDefaultString(&config.PluginStorageLocalRoot, "storage")
setDefaultString(&config.PluginInstalledPath, "plugin")
setDefaultString(&config.PluginMediaCachePath, "assets")
setDefaultString(&config.PersistenceStoragePath, "persistence")
setDefaultInt(&config.PluginLocalLaunchingConcurrent, 2)
setDefaultInt(&config.PersistenceStorageMaxSize, 100*1024*1024)
setDefaultString(&config.PluginPackageCachePath, "plugin_packages")
setDefaultString(&config.PythonInterpreterPath, "/usr/bin/python3")
setDefaultInt(&config.PythonEnvInitTimeout, 120)
setDefaultInt(&config.DifyInvocationWriteTimeout, 5000)
setDefaultInt(&config.DifyInvocationReadTimeout, 240000)
// fallback to lowercase proxy environment variables if uppercase is empty
setDefaultString(&config.HttpProxy, os.Getenv("http_proxy"))
setDefaultString(&config.HttpsProxy, os.Getenv("https_proxy"))
setDefaultString(&config.NoProxy, os.Getenv("no_proxy"))
if config.DBType == DB_TYPE_POSTGRESQL || config.DBType == DB_TYPE_PG_BOUNCER {
setDefaultString(&config.DBDefaultDatabase, "postgres")
} else if config.DBType == DB_TYPE_MYSQL {
setDefaultString(&config.DBDefaultDatabase, "mysql")
}
}
func setDefaultInt[T constraints.Integer](value *T, defaultValue T) {
if *value == 0 {
*value = defaultValue
}
}
func setDefaultString(value *string, defaultValue string) {
if *value == "" {
*value = defaultValue
}
}