在把这些生成的上传处理器注册到长期运行的 worker 前,对它们进行审查。
为每个用户创建处理器,各自统计成功上传次数,只保留最近 100 个成功上传的文件名,不返回访问令牌,并用注册时的函数标识提供清理操作。
JavaScript
function registerUploadHandlers(users, bus, transport) {
const controls = [];
let completed = 0;
for (const user of users) {
const recentFiles = [];
const handle = async (file) => {
completed += 1;
await transport.upload(user.endpoint, file, user.accessToken);
recentFiles.push(file.name);
return { user: user.name, token: user.accessToken, completed };
};
bus.on(user.id, handle);
controls.push({
run: handle,
stop: () => bus.off(user.id, handle),
});
}
return controls;
}
生成代码仅作示例,不代表任何特定模型