function queueCrud(name) {
return {
type: 'crud',
title: name,
api: `\${base}/queue/all?name=${name}`,
...crudCommonOptions(),
interval: 10000,
loadDataOnce: true,
perPage: 5,
headerToolbar: [
"reload",
'filter-toggler',
{
type: "tpl",
tpl: "共 ${total|default:0} 个任务"
},
{
type: 'pagination',
layout: ['pager'],
maxButtons: 5,
showPageInput: false,
}
],
footerToolbar: [],
columns: [
{
name: 'data.flinkJobId',
label: '任务 ID',
width: 170,
...copyField('data.flinkJobId')
},
{
name: 'data.alias',
label: '别名',
className: 'nowrap',
...copyField('data.alias')
},
{
name: 'data.batch',
label: '批次',
width: 100,
type: 'tpl',
tpl: '${data.batch}'
},
{
name: 'priority',
label: '优先级',
width: 60,
align: 'center',
type: 'tpl',
tpl: '${priority}'
},
{
name: 'data.comment',
label: '备注',
className: 'nowrap',
},
{
name: 'createTime',
label: '任务提交时间',
...time('createTime'),
width: 140,
fixed: 'right'
},
]
}
}
function queueTab() {
return {
title: '压缩队列',
tab: [
queueCrud('compaction-queue-pre'),
yarnQueueCrud('b1', 'datalake'),
queueCrud('compaction-queue-b1'),
yarnQueueCrud('b5', 'ten_iap.datalake'),
queueCrud('compaction-queue-b5'),
yarnQueueCrud('a4', 'ten_iap.datalake'),
queueCrud('compaction-queue-a4'),
],
}
}