Last modified: 2013-07-25 07:06:01 UTC
irclib.ServerConnection represents a single low-level connection to a server, it doesn't restart the connection if it is reset for whatever reason. The caller in adminlogbot.py doesn't restart the connection either, it just continues in an infinite loop of calling bot.irc.process_once(), which does nothing after the connection is closed. The version of irclib available on wikitech-static (0.4.8) also has an "ircbot" library, which provides a higher level interface including automatic reconnection. Using this library instead would hopefully give us a morebots service which doesn't need constant manual restarts.
Added some relevant developers to the CC list.
Related URL: https://gerrit.wikimedia.org/r/60240 (Gerrit Change Id39158c68a5a2df1e601cf4a7a616ba046853ba6)
(In reply to comment #1) > Added some relevant developers to the CC list. Is this urgent? If not, I'd like to continue working with Legoktm on his patch, which is coming along well. Some notes to help with testing changes: * irc 0.4.8-1 is available in Ubuntu Precise as 'python-irclib' * Argument parsing is faulty at the moment, which means you *have* to specify a config file by passing --config=/path/to/mybot.py * There's a sample configuration file in the repo: 'config.py'
I'd really like the config file to be something other than a python file. YAML would be a good option. It should allow the config option, but should default to /etc/adminbot/config.yaml. It sucks to have to munge the include path to add the config file.
(In reply to comment #3) > Is this urgent? If not, I'd like to continue working with Legoktm on his > patch, which is coming along well. It's not urgent.
The non-production bots (labs, e3, analytics) are now using new code which should survive a netsplit. Version 1.7.3, using this patch: https://gerrit.wikimedia.org/r/#/c/60240/7