Great work, as always! Is there a 'channels?' factoid or other method to learn the channels that Druplicon has joined?

Morbus Iff wrote:

As some of you know, Druplicon has been "full" for awhile, as I've denied any new channel joins due to the bot having reached a threshold that caused it to choke on handshakes. Some of you may have even recalled this factoid:

  [13:06]  <Druplicon> When I first start, I'm in so many channels that
  it takes me a long time to cache all the necessary user info. This is
  not a fault of my code, but rather that I'm in 20+ channels. This
  handshaking causes me to be initially unresponsive for 2+ minutes and,
  if you directly address me, I may flood.

I have just applied code to hopefully fix this problem.
The inline comments should explain the change suitably:

  When the bot has a number of channels to join (nearing 20+), the
  initial handshake, where it retrieves information about every user in
  every channel, can cause it to overload and disconnect. To solve this,
  we join channels every 15 seconds instead, which gives some breathing
  room for the nick caching to take place. A nice side-effect of this is
  that if the bot errors out of a channel, or a new channel is added to
  the list, it'll automatically (re)connect without needing a restart.

This now means that for every restart, Druplicon will take a longer time to join every channel (15 seconds * NUMBER_OF_CHANNELS), but it should be able to join far more. And, one of the primary reasons for restarting Druplicon in the first place was to have it join new channels - this restart should no longer be necessary due to the above changes (due to the variables cache being cleared every five minutes, which would cause the new code to detect newly-added channels and autojoin them).

So, what I need is:

 * All those people I said "No Druplicon for you!" to ask me again.

I'd like to stress test things by adding him to every channel requested and see where the next major chokepoint will be. [Note: this is a problem unique to Druplicon - I don't know of many IRC bots who are in more than 20 channels, much less those who are requested to be in, easily, 30 or more. That's how widespread our channels are.]



--
Aaron Winborn

Advomatic, LLC
http://advomatic.com/

Drupal Multimedia available in September!
http://www.packtpub.com/create-multimedia-website-with-drupal/book

My blog:
http://aaronwinborn.com/

Reply via email to