enqueueLepaoStartRun.js 847 B

1234567891011121314151617181920212223242526
  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. },
  18. retry: 0
  19. })
  20. } catch (e) {
  21. logger?.error?.(`投递自动乐跑任务失败 ${studentNum}: ${e.message || e}`)
  22. }
  23. }
  24. module.exports = { enqueueLepaoStartRun }