Fixings to Memory Overruns

Team Nirvana
Free Your Mind
Published in
2 min readJan 17, 2012

File this post under technical fyi / cya / wtf.

For the past few weeks we’ve been working out the kinks in our server-side processing of large data sets relating to scheduled and recurring tasks, which has affected a small but significant subset of users.

In a nutshell, prior to build 358, N2 relied on each client (desktop/mobile browser session) to process nightly task movement locally, and then post any changes (scheduled to next, next to focus etc) to the cloud. Since build 358 the primary responsibility for processing tasks has been moved back to the cloud, which then pushes changes out to the client. Role reversal.

The initial worker scripts we wrote to do all of this processing were a bit over-zealous in their consumption of memory. Kinda saw this coming, and to preempt it being a show-stopper we added some client-side code to detect if there are tasks that should have been processed but weren’t, with a “manual override” that conditionally appears in your Scheduled and Focus lists if relevant.

The appearance of the buttons “Move Scheduled Items Into Place Now” or “Bring Focus Up To Date Now” is N2’s way of letting you manually invoke the routine that moves tasks into place locally, without waiting for the cloud to do the processing. In an ideal world, you would never see these buttons as everything should be automatic. But you know… it’s like when the automatic doors don’t open when you walk up to them, at least you can still push ’em open to get through. Or something like that.

I’ve been up all night monitoring and adjusting the worker scripts, and it looks like things are finally working as intended. But for folks in timezones GMT +1 ,0, -1, -2, -3, -4, -5 and -6 (ergo, the 8 hours preceding this post) you may see the “Bring Focus Up To Date” button. Just click it if you see it and you’re good to go. Also, if you’re in the aforementioned time zones you may not have received your daily email poke today. Sorry about that.

Will continue to monitor things for awhile, and if things continue to look good we’ll be able to put this issue behind us and move on… to more fun things that all this server-side processing makes possible, like calendar feeds and the like. :-)

--

--