const mq = require('./index') const { assertRunforgeTaskIngress, publishRunforgeTask } = require('./runforgeTaskMq') const mqNames = require('./jkesMqNames') /** * 将乐跑任务写入 MQ,由 Worker 执行(JKES) */ async function enqueueLepaoStartRun(studentNum, logger, options = {}) { try { const channel = await mq.getChannel(mqNames.channelAccountAutorun) await assertRunforgeTaskIngress(channel, logger) const taskId = `lepao:account:${Date.now()}:${studentNum}` const data = { taskId, account: studentNum } if (options.targetKm != null) { data.targetKm = options.targetKm } if (options.autoDoubleSlot) { data.autoDoubleSlot = true } publishRunforgeTask(channel, { id: taskId, type: 'lepao.startRun', data, retry: 0 }) } catch (e) { logger?.error?.(`投递自动乐跑任务失败 ${studentNum}: ${e.message || e}`) } } module.exports = { enqueueLepaoStartRun }