Chapter 5. No More Ivory Tower: Making Our Application Production-Quality
In the previous couple of chapters we created a backend that pushes out FX prices for multiple symbols, and a frontend that displays them in any browser that supports SSE. One way we need to improve this application is by getting it to work in older desktop and mobile browsers that do not have SSE support. But there is another axis we need to improve in, because at the moment I still regard this as a toy example. It is not production-quality yet.
What do I mean by production-quality? Quite a few things. I mean that when things go wrong the system will recover automatically. I mean it works with real-world constraints (the one we will show in this chapter is dealing with the FX market shutting down on weekends). And I mean dealing with the case where we sent out bad data by mistake and now need to fix it.
Error Handling
In Chapter 4, we attached an event handler
for the error
message. We named that function
handleError
, and now we have to decide what is going to go
into it. By the end of this chapter we will be auto-reconnecting whenever
the backend server goes down. We will also keep trying to connect if it is
not available. But we will be doing these things with or without an
error
callback. The error
callback is just
informative—only of interest to programmers, not to end users. So we might
as well make it as simple as:
function handleError(e){ console.log(e); }
I said “informative.” I was exaggerating. The object ...
Get Data Push Apps with HTML5 SSE now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.