I’ve just removed all threading from the ping sending code. I expect
this to have a couple of effects:
A probable perceived slowdown in posting.
A possible improvement in memory usage. Threading certainly causes
pain to rubygems, and I wouldn’t be surprised if it’s causing pain
elsewhere too.
Also in this batch of changes, I’ve shifted feedback classification to
Feedback#before_save instead of Feedback#after_save. I think it was on
after_save but then we were seeing loads of unclassified feedback.
I’ve just removed all threading from the ping sending code. I expect
this to have a couple of effects:
A probable perceived slowdown in posting.
A possible improvement in memory usage. Threading certainly causes
pain to rubygems, and I wouldn’t be surprised if it’s causing pain
elsewhere too.
I tried it and it seems to work now. At least it doesn’t die after a few
page loads. I’ll report tomorrow again and tell you if the process
survived a day.
I tried it and it seems to work now. At least it doesn’t die after a few
page loads. I’ll report tomorrow again and tell you if the process
survived a day.
I really like threads for this sort of thing. Pity Ruby’s threads
are so weak, and double pity that Rails freaks out if you even mention the word “thread” around it.
I really like threads for this sort of thing. Pity Ruby’s threads
are so weak, and double pity that Rails freaks out if you even mention the word “thread” around it.
Discovering that the gems system isn’t threadsafe was a bit of a
shock…
I tried it and it seems to work now. At least it doesn’t die after
a few
page loads. I’ll report tomorrow again and tell you if the process
survived a day.
Cool.
Well, it did survive! So it seems this patch fixed my problem. Thanks!