Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
Harvey
/
job-executor
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e699b817
由
Harvey
编写于
2025-05-14 15:13:43 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
no message
1 个父辈
4b88d344
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
38 行增加
和
45 行删除
build/index.js
build/job/index.js
config/config.js
src/index.ts
src/job/index.ts
build/index.js
查看文件 @
e699b81
...
...
@@ -2,7 +2,7 @@
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
const
express
=
require
(
"express"
);
require
(
'../config/config.js'
);
const
config
=
global
[
'config'
];
const
config
=
global
[
'
app_job_
config'
];
if
(
config
.
enable_frpc
)
{
require
(
'../frp'
);
}
...
...
build/job/index.js
查看文件 @
e699b81
...
...
@@ -2,16 +2,18 @@
Object
.
defineProperty
(
exports
,
"__esModule"
,
{
value
:
true
});
exports
.
job_handlers
=
void
0
;
const
path
=
require
(
"path"
);
let
job_handlers
=
new
Map
()
;
let
job_handlers
;
exports
.
job_handlers
=
job_handlers
;
if
(
global
[
'config'
].
enable_piscina
)
{
if
(
global
[
'
app_job_
config'
].
enable_piscina
)
{
const
Piscina
=
require
(
'piscina'
);
exports
.
job_handlers
=
job_handlers
=
new
Map
();
const
piscina
=
new
Piscina
({
filename
:
path
.
resolve
(
__dirname
,
'worker.js'
),
maxThreads
:
require
(
'os'
).
cpus
().
length
-
1
,
minThreads
:
1
,
// maxQueue: 1000,
// idleTimeout: 60_000,
maxQueue
:
100
,
idleTimeout
:
60000
,
concurrentTasksPerWorker
:
5
,
//单个工作线程同时处理的任务数 任务包含异步操作时可以考虑增加
// resourceLimits: {
// maxOldGenerationSizeMb: 1024,
// maxYoungGenerationSizeMb: 256,
...
...
config/config.js
查看文件 @
e699b81
let
config
;
try
{
config
=
JSON
.
parse
(
process
.
env
.
CONFIG
);
}
catch
(
e
)
{
config
=
{
xxl_job
:
{
// 执行器AppName,在调度中心配置执行器时使用
XXL_JOB_EXECUTOR_KEY
:
"job-ydn-zq"
,
// 调度中心地址
XXL_JOB_SCHEDULE_CENTER_URL
:
"http://xxljob.ydniu.com/xxl-job-admin"
,
// 调度中心设置的请求令牌,调度中心和执行器都会进行校验,双方AccessToken匹配才允许通讯
XXL_JOB_ACCESS_TOKEN
:
"default_token"
,
// 任务执行日志的存储路径
XXL_JOB_JOB_LOG_PATH
:
"logs/job"
,
// 执行器运行日志开关(非任务执行日志),默认关闭
XXL_JOB_DEBUG_LOG
:
true
,
},
//本地启动端口
port
:
8088
,
//任务调度器访问本执行器的地址
app_domain
:
"http://10.0.1.92:17001/"
,
//是否启用服务器中转穿透
enable_frpc
:
true
,
//是否启动多线程处理
enable_piscina
:
true
,
};
}
global
.
config
=
config
;
global
.
app_job_config
=
Object
.
freeze
(
(()
=>
{
try
{
return
JSON
.
parse
(
process
.
env
.
APP_JOB_CONFIG
);
}
catch
(
e
)
{
return
{
xxl_job
:
{
XXL_JOB_EXECUTOR_KEY
:
"job-ydn-zq"
,
XXL_JOB_SCHEDULE_CENTER_URL
:
"http://xxljob.ydniu.com/xxl-job-admin"
,
XXL_JOB_ACCESS_TOKEN
:
"default_token"
,
XXL_JOB_JOB_LOG_PATH
:
"logs/job"
,
XXL_JOB_DEBUG_LOG
:
true
,
},
port
:
8088
,
app_domain
:
"http://10.0.1.92:17001/"
,
enable_frpc
:
true
,
enable_piscina
:
true
,
};
}
})()
);
src/index.ts
查看文件 @
e699b81
import
*
as
express
from
'express'
require
(
'../config/config.js'
)
const
config
=
global
[
'config'
];
const
config
=
global
[
'
app_job_
config'
];
if
(
config
.
enable_frpc
)
{
if
(
config
.
enable_frpc
)
{
require
(
'../frp'
)
}
...
...
src/job/index.ts
查看文件 @
e699b81
import
*
as
path
from
'path'
let
job_handlers
:
any
=
new
Map
();
if
(
global
[
'config'
].
enable_piscina
)
{
const
Piscina
=
require
(
'piscina'
)
let
job_handlers
:
any
if
(
global
[
'app_job_config'
].
enable_piscina
)
{
const
Piscina
=
require
(
'piscina'
)
job_handlers
=
new
Map
();
const
piscina
=
new
Piscina
({
filename
:
path
.
resolve
(
__dirname
,
'worker.js'
),
maxThreads
:
require
(
'os'
).
cpus
().
length
-
1
,
minThreads
:
1
,
// maxQueue: 1000,
// idleTimeout: 60_000,
maxQueue
:
100
,
//等待执行的任务队列最大长度
idleTimeout
:
60000
,
//工作线程空闲超时时间(毫秒),超过后将关闭线程
concurrentTasksPerWorker
:
5
,
//单个工作线程同时处理的任务数 任务包含异步操作时可以考虑增加
// resourceLimits: {
// maxOldGenerationSizeMb: 1024,
// maxYoungGenerationSizeMb: 256,
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论