areebbeigh / RSS2IRC

An IRC bot that'll return feeds from an RSS feed to 1 or more IRC channels. The bot has a couple of commands (admin and public) too.
https://github.com/areebbeigh/RSS2IRC
GNU General Public License v3.0
7 stars 6 forks source link

Broken pipe #3

Open duramato opened 8 years ago

duramato commented 8 years ago

When using many rss sources it seems it can't coup with that, and and throws a Broken pipe when connecting to the irc channel/idenitfing. I tried adding sleep()s but didn't worked . The traceback is bellow:

Traceback (most recent call last):
  File "rss2irc.py", line 138, in <module>
    update()
  File "rss2irc.py", line 136, in update
    feed_refresh()
  File "rss2irc.py", line 93, in feed_refresh
    msg(defaultChannel, m)
  File "rss2irc.py", line 65, in msg
    s.send('PRIVMSG '+str(defaultChannel)+' :'+str(msg)+'\r\n')
socket.error: [Errno 32] Broken pipe
areebbeigh commented 8 years ago

Thank you for reporting the problem duramato, could you also include the RSS sources you put in the script please? I will try to fix it as soon as possible.

duramato commented 8 years ago

I have 10 rss sources, some are private ones i would rather not share. Try maybe reproduce with 10 rss feeds you know, if that doesn't work i can share you the sources privatly if its ok to you

areebbeigh commented 8 years ago

Alright, I will start working on the problem soon, hopefully in a wk or two. Busy with exams.

areebbeigh commented 8 years ago

Hi, I couldn't reproduce this issue on v2.1 (or before) with multiple feed sources, I think what might have caused that broken pipe was a ping timeout on the IRC server.

duramato commented 8 years ago

Which IRC network did you try? It happens to me on freenode

areebbeigh commented 8 years ago

I tried it on freenode as well.

duramato commented 8 years ago

Mm I'll have to try the new version. I don't know the base code but can't exception be catched and retry the connection? Also forgot to mention Im running this in an upstart script with the respaw command