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