Category archives: Snaking

Discussions of programming, particularly of programming Python

RSS feed of Snaking

For those of you following along with the home game (When spec meets reality part LXVIII)


Wondering what all the silence on the Cinemon side is? Well, just me quietly pounding my head against the ping scanner. Still getting occasional PyPgSQL crashes, but I'm basically chalking those up to the number of threads trying to use PyPgSQL simultaneously.

Scanner has been simulating for hours now (No memory leaks, and no crashes evident)


But at the current settings it could be as much as 20 minutes (in a worse-case scenario) before the scanner notices an offline low-level branch. It's currently taking ~4% of CPU, so I can likely rachet up the maximum group-ping frequency to 5 minutes or so and still have acceptable performance. Will need to work ...

Continue reading

Scanner has been simulating for hours now (No memory leaks, and no crashes evident)


But at the current settings it could be as much as 20 minutes (in a worse-case scenario) before the scanner notices an offline low-level branch. It's currently taking ~4% of CPU, so I can likely rachet up the maximum group-ping frequency to 5 minutes or so and still have acceptable performance. Will need to work ...

Continue reading

Harvest moon over Toronto this evening (Once in a while I glance up from the computer...)


Looks as though the problems with the scanner were being precipitated by having too many simultaneous postgresql queries. Introducing more randomness into the scanner has let it run for a few hours at a time so far. Have begun producing a trivial summary/overview in simple text which makes it possible to confirm that the scanner ...

Continue reading

Harvest moon over Toronto this evening (Once in a while I glance up from the computer...)


Looks as though the problems with the scanner were being precipitated by having too many simultaneous postgresql queries. Introducing more randomness into the scanner has let it run for a few hours at a time so far. Have begun producing a trivial summary/overview in simple text which makes it possible to confirm that the scanner ...

Continue reading

Looks like PyPgSQL is the culprit (For the crashes, anyway)


The annoying crashes during the run of the ping scanner appear to be happening in the middle of a huge chain of PyPgSQL calls, particularly ones that appear to be network related. Going to have to check out twisted.enterprise to see if they had to do something special to make PyPgSQL play nice with Twisted's ...

Continue reading

Think that's enough for today (Dispatcher-based code mostly working)


Next step is to hook up the simple SVG diagraming code to generate a real-time graph of current status so I can be sure what I'm seeing really is what it appears to be. I've got the core part of the operations "graph" (sort of a cross between a state diagram and a flow chart) ...

Continue reading

Think that's enough for today (Dispatcher-based code mostly working)


Next step is to hook up the simple SVG diagraming code to generate a real-time graph of current status so I can be sure what I'm seeing really is what it appears to be. I've got the core part of the operations "graph" (sort of a cross between a state diagram and a flow chart) ...

Continue reading

OO versus nested_scopes in Twisted code (OO wins (not to spoil the suspense or anything))


So, I've been figuratively staving in my skull with tracking down the weird hanging cases that have been showing up in the ping scanning mechanism. For the most part, I've been storing the state in either explicitly passed arguments, or using nested scopes.

Having reached a point where the whole darn thing was just a ...

Continue reading

OO versus nested_scopes in Twisted code (OO wins (not to spoil the suspense or anything))


So, I've been figuratively staving in my skull with tracking down the weird hanging cases that have been showing up in the ping scanning mechanism. For the most part, I've been storing the state in either explicitly passed arguments, or using nested scopes.

Having reached a point where the whole darn thing was just a ...

Continue reading