Skip to content

Create Subscription Option for ActiveMQ #75

Description

@adeutscher

Below is Cursor's opinion on the viability of subscribing using ActiveMQ.

ActiveMQ Artemis. Same dual API as RabbitMQ. The current source uses IMessageConsumer.ReceiveAsync with a short timeout. NMS also has a Listener (MessageListener) that the broker dispatches into. Client-ack, no per-message heartbeat, prefetch on the consumer — this maps almost directly onto RabbitMqSubscribeJobSource.

Testing

Similar to RabbitMQ, testing criteria is:

  • The implementation must be able to handle messages (spoiler alert)
  • In order for this effort to be worth merging into develop alongside the polling implementation, it should be immediately responsive to new messages
  • The implementation must be able to handle messages after a connection is lost/recovered. Restarting the message source should not be a process-breaker for the JobWorker.
  • The implementation should respect the JOBS__HALT_ON_FAILURE environment variable being set to true for major problems. Break the exception arbiter in a local test if you have to in order to confirm this. Works in cases, low priority. See comments

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions