enqueueLepaoStartRun.js 880 B

123456789101112131415161718192021222324252627
  1. const mq = require('./index')
  2. const { assertRunforgeTaskIngress, publishRunforgeTask } = require('./runforgeTaskMq')
  3. /**
  4. * 将乐跑任务写入 MQ,由 Worker 执行(与 SingleRun 一致)
  5. */
  6. async function enqueueLepaoStartRun(studentNum, logger) {
  7. try {
  8. const channel = await mq.getChannel('lepao_account_autorun')
  9. await assertRunforgeTaskIngress(channel, logger)
  10. const taskId = `lepao:account:${Date.now()}:${studentNum}`
  11. publishRunforgeTask(channel, {
  12. id: taskId,
  13. type: 'lepao.startRun',
  14. data: {
  15. taskId,
  16. account: studentNum,
  17. runMode: 'auto'
  18. },
  19. retry: 0
  20. })
  21. } catch (e) {
  22. logger?.error?.(`投递自动乐跑任务失败 ${studentNum}: ${e.message || e}`)
  23. }
  24. }
  25. module.exports = { enqueueLepaoStartRun }