We’ve talked about backend processing a few times. It was the cause of our largest outage a few weeks ago as well as something we’ve mentioned a few times in the past around speeding up our application.
Backend processing lets us reduce how long you wait while working on things.
Let’s look into the details of where we do it, why we do it, and why it benefits you.
What is backend processing?
Backend processing is straight forward to explain: Backend processing is processing that we do outside of user interaction.
When you’re clicking around in C3 editing customers, performing tests, and optimizing routes there is a lot of processing that needs to be done.
Some of it needs to be done before the next page loads (saving information to the database normally) while some of it can be done after the page loads. Our best example of this is generating test report PDFs. Generating a test report PDF takes a fair amount of time. (On average between 2 and 3 seconds.) Generally you don’t immediately need the PDF available when you get to the next page. (You’re out testing in the field and just need to test your next device, or you’re entering test results before reviewing them.) Waiting 2 to 3 extra seconds to move forward is unnecessary.
Where do we use it?
That’s where the backend processing comes in. When we need to generate a test report we pass the request to our backend processing system. It only takes a few milliseconds to queue the operation – way better than a few seconds. The backend processor then picks up that queued item (in our example a test report generation) and creates that test report.
Our backend processor runs fast enough that it very rarely backs up with requests – a test report being generated just about always generates within 4 seconds of it being told to generate. That’s 4 seconds that you aren’t waiting for a page to load though!
We use our backend processor throughout the application – there are a lot of different places you interact with C3 where there is some heavy calculation or big data movement that needs to take place.
How does it help you?
We use our backend processor in as many places as we can so your work is kept as speedy as possible. This means you’re able to let the work get done in the background.
Here’s a few other places we use it: combining test reports to be sent to a purveyor, batching emails out to customers, optimizing a driving route, (this is one of the few cases where you are waiting for the operation to complete) and looking up the geocoordinates of an address.
To give you an example of how much calculation and processing time our backend jobs do – about 50% of our server time is eaten up by background job processing. That’s a good show of how much time we’re saving you by managing the technology with our expertise in that area and saving you the time you’re waiting for your backflow testing management app rather than waiting.
We always are looking for ways to have you benefit from C3 and often that means saving you time – 4 seconds at a time.