[Mailman-Users] BIG discard problem

Robert Echlin rechlin at ca.stilo.com
Wed Aug 11 19:38:52 CEST 2004


----- Original Message ----- 
From: "David Relson" <relson at osagesoftware.com>
Cc: <mailman-users at python.org>
Sent: Wednesday, August 11, 2004 12:10 PM
Subject: Re: [Mailman-Users] BIG discard problem
> Hi Robert,
>
> We're way beyond my knowledge of mailman at this point !  However, I've
> got some alternate ideas from browser usage and web site development.
> Note:  liberally apply grains of salt to these ideas - they're untested.
>
> The 15 minute timeout is likely your browser deciding the web server is
> b0rked.  Very possibly the web server just has too much to do.  The
> browser is running one of mailman's python scripts so it can display the
> generated html.

The python process (owned by Apache) that was taking 200M of RAM was also
taking 95% to 99% of CPU time for 14.6 minutes, according to top, just
before it stopped when the

>
> Idea 1:  Separate the time to run the script from browser display, i.e.
> manually run the python script with appropriate arguments and save the
> output to a file.  Put the file on your web server and use the browser
> to display it.  Click on the appropriate buttons and you're done.

I may be able to use this one.
- tried - failed - file is accessed as
http://server/mailman/admindb/listname
 and the file is /var/mailman/admindb - try to run it as
/var/mailman/admindb/listname and you get an error from bash that admindb is
not a directory.
Apache probably calls it directly, after first setting some stuff up in the
environment variables so it knows what path it was called with. I could try
that later I suppose.

For my next try, I have set the timeout to 1500 seconds, instead of 300, in
httpd.conf and restarted apache. Looking at top, I expect that I read it
incorrectly (see above) when I thought it had run for 14.6 minutes, because
it is hovering around 16% of memory, and the timeout in apache would have
limited it to 300 seconds (4.5 minutes of CPU time at 90%).


> Idea 2: Find the html source code for the "pending requests" page and
> locate the "discard all deferred items" checkbox.  Determine which
> script gets run and the appropriate arguments.  Then run the script from
> the command line.

#2 sounds useful, but it may not be. It almost certainly requires that you
pass a lot of parameters to provide the identities of all the requests (some
multiple of 11000 or so parameters) that need to be discarded. Remember that
it says "discard all deferred items". So it has to know which items you have
left marked as "deferred".

Robert




More information about the Mailman-Users mailing list