| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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
- }
- if (options.paceRandomMinSecPerKm != null && options.paceRandomMaxSecPerKm != null) {
- data.paceRandomMinSecPerKm = options.paceRandomMinSecPerKm
- data.paceRandomMaxSecPerKm = options.paceRandomMaxSecPerKm
- }
- publishRunforgeTask(channel, {
- id: taskId,
- type: 'lepao.startRun',
- data,
- retry: 0
- })
- } catch (e) {
- logger?.error?.(`投递自动乐跑任务失败 ${studentNum}: ${e.message || e}`)
- }
- }
- module.exports = { enqueueLepaoStartRun }
|