I took a break yesterday from my Summer of Code project under the philosophy that I should allow myself the benefit of weekends that most jobs offer. I've talked to people that telecommute in the past, and they've mentioned that the biggest problem is separating work and personal life. In this respect, I've started to regiment myself a bit more in an effort to keep making progress.
Earlier this afternoon, I decided that I felt like writing some code and took a stab at extending my notifications interface. I found that it's almost a little too easy to write new notifiers. This type of plugin interface will definitely come in in handy when I try to do more exotic things. I have come across a few new obstacles though.
The most apparent problem is that everything is single-process and single-threaded. If a notification hangs (or is significantly slowed), all other notifications, and the event protocol hangs too. I'm considering just running all notifiers in separate threads, to keep things nice and parallel. On the other hand, it may only be advantageous to have a new thread for each notification type so that I don't end up pounding an already slow mail server. These will definitely be things to think about.
The good news is that even with all of the rather barbaric methods I used to parse some things, the program is still much faster than I need it to be. Memory utilization is kept to a minimum, and I expect that as long as the python interpreter can be loaded, I won't have much trouble on a high load server.
I'm still waiting for SourceForge to approve the project request, so I don't have that repository up yet. I'll post here as soon as it's up.
That's all I've got for now, take a look at the latest repository if you're curious about the code.