Another Busy Morning Fixing Production Problems
When I got in this morning I saw that once again, I was going to be fighting production again, but this time, it's really from the additional processes that we're running - not the main pipeline process that we've been working on for several months.
No… this was somewhat new stuff, and in that I'm not terribly upset, but it is annoying when you see code like this:
hot_lead.downcase[0..1]
because I know there's going to come a time that hot_lead is nil, and that'll blow up. It's so easy to say:
hot_lead.downcase[0..1] unless hot_lead.nil?
or something like that. So easy… but the Code Monkeys don't think it's necessary.
Sigh…
In addition to some code problems there were legitimate timeouts with Salesforce, and those had to really be felt with. Again, far too optimistic in this new code, assuming everything would work, and in the real world, we know that's just not the case. So I quickly pulled in the timeout retry handling code from another class and converted it to work with the code having the timeouts. This meant converting the pulled-in methods from class methods to instance methods, but I'll get back to this later in the day and clean this up.
With the timeouts under control, I needed to fix a few issues with the summary script that parses the log files and summarizes them nicely. I had a few issues there, but they weren't as big as the problems I'd felt with up to that point in time. Annoying, yes, but not horribly so.
In the end, I got production run, but it was a touch frantic at times to make sure it got done as quickly as possible.