Recently I had to work on a story to improve the performance of a workflow that runs for a day in Sidekiq (background processing engine). The workflow of the functionality involved executing a series of interconnected complex steps across numerous machines. As one would expect, this is for crunching numbers to generate desired reports.