e6956aa001
- React frontend with route-level code splitting - Backend rebranded from Baihu to TaskPool - DB brand migration script and local compatibility
41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
const taskpool = require('taskpool');
|
|
|
|
/**
|
|
* 内建工具任务管理测试示例 (Node.js)
|
|
*
|
|
* 使用说明:
|
|
* 1. 确保已在该 Node.js 环境下安装过内建包。
|
|
* 2. 运行时系统需要注入有效的 OpenAPI 凭证 (BHPKG_OPENAPI_TOKEN 或 OPENAPI_TOKEN)。
|
|
*/
|
|
|
|
async function main() {
|
|
console.log("====== 开始运行 Node.js 任务管理与执行控制示例 ======");
|
|
|
|
try {
|
|
// 获取所有任务列表
|
|
const tasks = await taskpool.getTasks();
|
|
console.log(`成功获取到 ${tasks.length} 个定时任务:`);
|
|
tasks.slice(0, 5).forEach(task => { // 仅展示前5项
|
|
console.log(` - [${task.id}] ${task.name} (表达式: ${task.schedule || ''}, 备注: ${task.remark || ''})`);
|
|
});
|
|
|
|
// 尝试触发第一个任务的运行
|
|
if (tasks.length > 0) {
|
|
const targetTask = tasks[0];
|
|
console.log(`\n尝试手动触发任务运行: [${targetTask.id}] ${targetTask.name}...`);
|
|
await taskpool.executeTask(targetTask.id);
|
|
console.log("执行指令发送成功。");
|
|
}
|
|
|
|
// 获取最近的执行结果列表
|
|
const results = await taskpool.getLastResults();
|
|
console.log(`\n最近共有 ${results.length} 条任务执行记录。`);
|
|
|
|
} catch (e) {
|
|
console.error(`任务操作失败: ${e.message}`);
|
|
console.log("提示: 请确保在面板任务设置中正确注入了 OpenAPI Token。");
|
|
}
|
|
}
|
|
|
|
main();
|