RABBIT RELAY
import { RabbitMQBroker, event } from '@bitspacerlabs/rabbit-relay'

const scheduleTask = event('scheduler.scheduleTask', 'v1')
  .of<{ id: string; when: number }>()

const broker = new RabbitMQBroker('scheduler_service')

const pub = await broker
  .queue('scheduler_publish_queue')
  .exchange('scheduler_exchange', {
    exchangeType: 'topic',
    publisherConfirms: true
  })

await pub.produce(
  scheduleTask({ id: 'task_123', when: Date.now() })
)
await broker.close()
TypeScript