forked from hhy5277/dataflux-func
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
305 lines (252 loc) · 9.13 KB
/
config.yaml
File metadata and controls
305 lines (252 loc) · 9.13 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
APP_NAME: DataFluxFunc
# 配置文件路径
# 必须使用绝对路径
CONFIG_FILE_PATH: '/data/user-config.yaml'
# 资源文件根目录
# 必须使用绝对路径
RESOURCE_ROOT_PATH: '/data/resources'
# 文件上传/下载临时目录
UPLOAD_TEMP_ROOT_FOLDER : '.uploads'
DOWNLOAD_TEMP_ROOT_FOLDER: '.downloads'
# 运行模式
# 可选:
# "dev" : 开发模式
# "prod": 生产模式
# 注意:除特殊需要,应当总是使用生产模式
MODE: prod
# 私钥
# 用于登录令牌、数据源配置加密等
# 一旦配置后请勿修改,否则会导致系统无法正常运行
SECRET: 'your_secret'
# 日志等级
# 可选:
# ALL : 全部输出
# DEBUG : 调试、信息、警告和错误
# INFO : 信息、警告和错误
# WARNING: 警告和错误
# ERROR : 错误
# NONE : 不输出
LOG_LEVEL: WARNING
# 日志文件输出地址
# 必须使用绝对路径
LOG_FILE_PATH: '/data/logs/dataflux-func.log'
# 日志时间时区
LOG_TIMEZONE: 'Asia/Shanghai'
# 数据库自动备份保留数量
DB_AUTO_BACKUP_LIMIT: 168
# 数据库自动备份目录
# 必须使用绝对路径
DB_AUTO_BACKUP_PATH: '/data/sqldump/'
# 日志输出格式
# 可选:
# text: 纯文本格式
# json: JSON格式
LOG_FILE_FORMAT: text
# 终端日志是否着色
LOG_CONSOLE_COLOR: true
# Web服务器访问URL
# 即用户在访问时,浏览器地址栏中需要输入的地址
# 注意:当系统部署在反向代理服务器后时,服务器绑定的地址、端口可能会不同
WEB_BASE_URL : ''
WEB_INNER_BASE_URL: http://server-inner.func2:8088
# Web服务器绑定IP
# 如:
# 0.0.0.0 : 为公开访问
# 127.0.0.1: 为仅本地访问
# 注意:当系统部署在反向代理服务器后时,应配置为 127.0.0.1
WEB_BIND: '0.0.0.0'
# Web服务器绑定端口
# 注意:当系统部署在反向代理服务器后时,绑定端口与浏览器中输入地址的端口不必相同
WEB_PORT: 8088
# CORS配置
WEB_CORS_ORIGIN : true
WEB_CORS_CREDENTIALS: true
# MySQL连接配置
MYSQL_HOST : '127.0.0.1'
MYSQL_PORT : 3306
MYSQL_USER : dataflux_func
MYSQL_PASSWORD: dataflux_func
MYSQL_DATABASE: dataflux_func
# Redis连接配置
# 建议:为避免与其他应用冲突,不使用默认数据库0
REDIS_HOST : '127.0.0.1'
REDIS_PORT : 6379
REDIS_DATABASE: 5
REDIS_PASSWORD: ''
REDIS_USE_TLS : false
REDIS_TS_MAX_AGE : 3600 # 1小时
REDIS_TS_MAX_PERIOD : 259200 # 3天
REDIS_TS_MIN_INTERVAL: 60 # 时间戳最小间隔(秒)
# Worker配置
WORKER_QUEUE_ALIAS_MAP: cpu=9
# 官方脚本库索引地址
OFFICIAL_PACKAGE_INDEX_URL: https://static.guance.com/dataflux-func/market/pkg-index.json
########################
# 以下配置请勿修改 #
########################
# 钉钉机器人
DING_TALK_ROBOT_URL : ''
DING_TALK_ROBOT_SECRET: ''
# 文件存储根目录
FILE_STORE_ROOT_DIR: uploaded-files
# 额外Python 包安装目录
EXTRA_PYTHON_PACKAGE_INSTALL_DIR: extra-python-packages
# 是否停用鉴权(作为内部系统时打开)
_IS_STREAKING: false
# 客户端冲突过期时间
_CLIENT_CONFLICT_EXPIRES: 5
# 脚本包自动安装锁定时间
_FUNC_PKG_AUTO_INSTALL_LOCK_AGE: 60
# DataKit自动添加锁定时间
_LOCAL_DATAKIT_AUTO_CREATE_LOCK_AGE: 15
# 函数包导出文件名
_FUNC_PKG_EXPORT_FILENAME: dataflux-func
# 函数包导出扩展名
_FUNC_PKG_EXPORT_EXT: .func-pkg
# 函数包导入确认超时
_FUNC_PKG_IMPORT_CONFIRM_TIMEOUT: 900
# 函数包密码长度范围
_FUNC_PKG_PASSWORD_LENGTH_RANGE_LIST: 12,20
# API文档介绍文章
_API_DOC_INTRODUCTION_LIST: ''
# 示例代码
_SAMPLE_SCRIPT: |
@DFF.API('Hello, world')
def hello_world(name=''):
'''
A hello world function
Parameters:
name {str} name
return {str} "Hello, world! {name}"
'''
return f"Hello, world! {name}"
def test_hello_world():
'''
Test hello world function
'''
assert hello_world('Tom') == "Hello, world! Tom"
return 'OK'
# MySQL一般作为常量的配置
_MYSQL_CONNECTION_LIMIT: 30
_MYSQL_CONNECT_TIMEOUT : 60000
_MYSQL_CHARSET : utf8mb4
_MYSQL_TIMEZONE : ''
# WEB模块一般作为常量的配置
_WEB_INDEX_PAGE : mainPage.clientApp
_WEB_SIGN_IN_PAGE : mainPage.clientApp
_WEB_DASHBOARD_PAGE : indexPage.dashboard
_WEB_CLIENT_ID_COOKIE : xDFFClientId
_WEB_CLIENT_ID_HEADER : X-Dff-Client-Id
_WEB_ORIGIN_HEADER : X-Dff-Origin
_WEB_CLIENT_LOCALE_COOKIE : xDFFClientLocale
_WEB_CLIENT_LANGUAGE_COOKIE: xDFFClientLocaleLanguage
_WEB_PAGE_SIZE_COOKIE : xDFFPageSize
_WEB_TRACE_ID_HEADER : X-Trace-Id
_WEB_REQUEST_TIME_HEADER : X-Request-Time
_WEB_RESPONSE_TIME_HEADER : X-Response-Time
_WEB_REQUEST_COST_HEADER : X-Request-Cost
_WEB_AUTH_HEADER : X-Dff-Auth-Token
_WEB_AUTH_QUERY : xDFFAuthToken
_WEB_AUTH_LOCAL_STORAGE : xDFFAuthToken
_WEB_AUTH_COOKIE : xDFFAuthToken
_WEB_AUTH_EXPIRES : 86400
_WEB_CAPTCHA_EXPIRES : 300
_WEB_DRY_RUN_MODE_HEADER : X-Dff-Use-Dry-Run-Mode
_WEB_AK_SIGN_VERSION_HEADER: X-Dff-Ak-Sign-Version
_WEB_AK_ID_HEADER : X-Dff-Ak-Id
_WEB_AK_TIMESTAMP_HEADER : X-Dff-Ak-Timestamp
_WEB_AK_NONCE_HEADER : X-Dff-Ak-Nonce
_WEB_AK_SIGN_HEADER : X-Dff-Ak-Sign
_WEB_AK_TIMESTAMP_MAX_DIFF : 900
_WEB_AK_NONCE_TTL : 86400
_WEB_PULL_LOG_TRACE_ID : TRACE-PULLLOGS
# 本地临时认证令牌
_WEB_LOCALHOST_TEMP_AUTH_TOKEN_HEADER: X-Localhost-Temp-Auth-Token
# Worker模块一般作为常量的配置
_WORKER_QUEUE_COUNT : 10
_WORKER_DEFAULT_QUEUE : '0'
_WORKER_CONCURRENCY : 5
_WORKER_PREFETCH_MULTIPLIER: 10
_WORKER_MAX_TASKS_PER_CHILD: 3000
_WORKER_RESULT_EXPIRES : 3600
# 监控模块一般作为常量的配置
_MONITOR_WORKER_HEARTBEAT_INTERVAL: 30
_MONITOR_SYS_STATS_CHECK_INTERVAL : 300
_MONITOR_WORKER_QUEUE_LIST : 0,1,2,3,4,5,6,7,8,9
_MONITOR_MATCHED_ROUTE_EXPIRES : 86400
_MONITOR_SLOW_API_COUNT_EXPIRES : 604800
# 自动执行任务频率
_CRONTAB_STARTER : '* * * * *'
_CRONTAB_SYNC_CACHE : '* * * * *'
_CRONTAB_AUTO_CLEAN : '*/15 * * * *'
_CRONTAB_AUTO_BACKUP_DB : '0 * * * *'
_CRONTAB_FORCE_RELOAD_SCRIPT : '* * * * *'
_CRONTAB_RESET_WORKER_QUEUE_PRESSURE: '* * * * *'
# 函数任务模块一般作为常量的配置
_FUNC_ARGUMENT_PLACEHOLDER_LIST: INPUT_BY_CALLER,FROM_PARAMETER
_FUNC_TASK_DEFAULT_QUEUE : '1'
_FUNC_TASK_DEFAULT_DEBUG_QUEUE : '7'
_FUNC_TASK_DEFAULT_CRONTAB_QUEUE : '8'
_FUNC_TASK_DEFAULT_ASYNC_QUEUE : '9'
_FUNC_TASK_DEBUG_TIMEOUT : 45
_FUNC_TASK_DEFAULT_TIMEOUT : 30
_FUNC_TASK_MIN_TIMEOUT : 1
_FUNC_TASK_MAX_TIMEOUT : 3600
_FUNC_TASK_DEFAULT_API_TIMEOUT : 10
_FUNC_TASK_MIN_API_TIMEOUT : 1
_FUNC_TASK_MAX_API_TIMEOUT : 180
_FUNC_TASK_TIMEOUT_TO_EXPIRE_SCALE : 10
_FUNC_TASK_EXTRA_TIMEOUT_TO_KILL : 5
_FUNC_TASK_DEFAULT_BATCH_TIMEOUT : 3600
_FUNC_TASK_DEFAULT_BATCH_TIMEOUT_TO_EXPIRE_SCALE: 24
_FUNC_TASK_COMPILE_CACHE_MAX_SIZE : 1000
_FUNC_TASK_THREAD_POOL_SIZE : 5
_FUNC_TASK_MAX_CHAIN_LENGTH : 5
_BUILTIN_TASK_SYNC_CACHE_BATCH_COUNT : 10000
_BUILTIN_TASK_SYNC_CACHE_SERVICE_DEGRADE_QUEUE_LENGTH: 20000
_WORKER_LIMIT_FUNC_PRESSURE_BASE : 1000
_WORKER_LIMIT_FUNC_PRESSURE_EXPIRES : 3600
_WORKER_LIMIT_WORKER_QUEUE_PRESSURE_BASE : 300000
_WORKER_LIMIT_WORKER_QUEUE_PRESSURE_EXPIRES: 3600
# 最近函数运行信息配置
_RECENT_FUNC_RUNNING_COUNT_EXPIRES : 604800
_RECENT_FUNC_RUNNING_STATUS_EXPIRES: 604800
_RECENT_FUNC_RUNNING_STATUS_LIMIT : 100
# 数据量限制
_DBDATA_TABLE_LIMIT_MAP: >
biz_main_script_log=10000
,biz_main_script_failure=10000
,biz_main_task_result_dataflux_func=10000
,biz_main_crontab_task_info=50000
,biz_main_batch_task_info=50000
,biz_main_operation_record=50000
,biz_main_script_recover_point=1000
,biz_main_script_set_export_history=1000
,biz_main_script_set_import_history=1000
,biz_main_script_publish_history=1000
_UPLOAD_FILE_EXPIRES: 3600
# 数据库自动备份
_DB_AUTO_BACKUP_PREFIX: dataflux-func-sqldump-
_DB_AUTO_BACKUP_EXT : .sql
# 其他(内部控制)
_LRU_FUNC_CACHE_MAX : 1000
_LRU_FUNC_CACHE_MAX_AGE : 15
_LRU_FUNC_RESULT_CACHE_MAX : 2000
_LRU_FUNC_RESULT_CACHE_MAX_AGE: 5
_HTTP_AUTH_NONCE_MAX_AGE : 300
# 保留脚本错误信息(开启后可能会产生巨量日志)
_INTERNAL_KEEP_SCRIPT_FAILURE: false
# 保留脚本日志信息(开启后可能会产生巨量日志)
_INTERNAL_KEEP_SCRIPT_LOG: false
# 是否开启错误堆栈包含本地变量信息(开启后可能会产生巨量日志)
_INTERNAL_ERROR_STACK_WITH_LOCALS_INFO: false
# 是否禁用安装配置
_DISABLE_SETUP: false
# 是否禁用自动安装附带脚本
_DISABLE_AUTO_INSTALL_FUNC_PKGS: false
# 是否禁用数据库自动备份
_DISABLE_DB_AUTO_BACKUP: false
# 是否禁用工作单元限制压力
_DISABLE_WORKER_LIMIT_PRESSURE: false
# 是否已安装完成
_IS_INSTALLED: false