init.js 890 B

12345678910111213141516171819202122232425262728293031323334
  1. const mq = require('./')
  2. const initmq = async () => {
  3. try {
  4. await mq.init()
  5. const ch = await mq.getChannel('init')
  6. // 结束交换机
  7. await ch.assertExchange('cg_run_finish_exchange', 'direct', { durable: true })
  8. // 结束队列
  9. await ch.assertQueue('cg_run_finish_queue', { durable: true })
  10. await ch.bindQueue(
  11. 'cg_run_finish_queue',
  12. 'cg_run_finish_exchange',
  13. 'finish'
  14. )
  15. // 延迟队列
  16. await ch.assertQueue('cg_run_delay_queue', {
  17. durable: true,
  18. arguments: {
  19. 'x-dead-letter-exchange': 'cg_run_finish_exchange',
  20. 'x-dead-letter-routing-key': 'finish'
  21. }
  22. })
  23. } catch (e) {
  24. console.error('❌ RabbitMQ 初始化失败', e)
  25. process.exit(1)
  26. }
  27. }
  28. module.exports = initmq