This is an old revision of the document!
AMQP Message Queue
The full invoice lifecycle is documented here.
- System 36 generates invoice and “prints” it
- Redmon intercepts that data by acting like a printer
- Custom C# tool RawUploader writes this data to a local database
- Custom C# tool DataQueueDispatcher uploads records from local database to CRM Printlog Raw table
- CRM takes Raw record and parses it into a CRM Invoice record
- CRM submits Invoice id and formats to be printed to AMQP message queue to be printed
- Custom C# tool PrintDaemon monitors AMQP message queue and spools any waiting records to the selected printer
We use a message queue, RabbitMQ, to store invoices waiting to be printed. The RabbitMQ daemon runs on Server20081 and publishes a queue called invoice. Print tools and the CRM interface with this queue with the credentials stored in KeePass.