Posts

Showing posts with the label distributed programming

Distributed Applications with RabbitMQ and Redis - Part 1

We recently completed a rewrite of a client's application which handled generation and delivery of statements. With 6 months of hindsight, we had the opportunity to do this properly. In this series, we will be talking about some issues we faced and how we solved them. Choosing our Technology Stack The entire process is broken down into the following steps: Create a job defining batches of companies to process. Each batch contains a list of items representing each customer in that company. Each item is responsible for generating the customer's statement, uploading it to S3 and sending the customer an email. When items in a batch are complete, the customers' statements are combined into slices of 100, uploaded and an email sent to the company's representative. When all batches are done, the job is marked as complete. The Foolishness of Youth Our initial solution used Hangfire   to handle our queues and background processing. It seemed like a good idea a...