[news.software.b] What I'd like in a news expire program

aem@mthvax.cs.miami.edu (a.e.mossberg) (03/12/91)

There's been a number of expire programs posted, but none of them really
have the level of control I'd like. Here's the parameters I'd like to be
able to define:

maximum articles - a group can have no more than this many articles
minimum articles - a group can have no fewer than this many
maximum article size - immediately expire any article bigger than this
minimum days until expire - how long an acceptably sized article should last
maximum days before expire - unless overridden by minimum articles per group
standard expiry - expire unless some other condition prevents it

The last three are handled by the C news expire, pretty well... but some
groups are so low volume that I'd always like to maintain at least the
last article or two on-line. Likewise, sometimes people post huge
messages and I'd like those to always expire immediately, or for
high-volume groups I don't want to keep more than the most recent
hundred or so articles.

Has anyone already implemented this level of expire program??


aem
Has anyone implemented this level of expire program alreayd
-- 
aem@mthvax.cs.miami.edu .......................................................
To plunder, to lie, to show your ass, are three essentials for climbing high.
						-  Aristophanes  424 B.C.

flee@cs.psu.edu (Felix Lee) (03/12/91)

I've been thinking about steady-state news, and I think all you need
are low- and high-water marks on disk space usage.  You provide disk
space boundaries for various sets of newsgroups, like so:
	keep [0, 20] megabytes talk.all + soc.all + all.flame
	keep [50, 100] megabytes all
which means that all of news should take no more than 100M, and noise
groups should take no more than 20M of that.

To deal with explicit expire date and exceptionally large articles,
you can create subsets with set intersection:
	keep [0, 15] megabytes comp.all * (expires > 30 days)
	keep [0, 20] megabytes all * (size > 1 megabyte)

I don't know if I want time boundaries.  As long as news doesn't
exceed space boundaries, I don't see a reason to expire it.  Well,
groups like misc.forsale might want a time boundary
	keep [0, 7] days all.forsale
to keep the contents timely.

Time boundaries might conflict with space boundaries.  To keep things
sane, I think all lower boundaries should be soft.  If you say
	keep [3, ] days all
it won't actually guarantee that news is kept 3 days, but it will ring
an alarm if news does fall below 3 days in any newsgroup.

Comments?  Any flaws in this scheme?  Any useful features missing?
--
Felix Lee	flee@cs.psu.edu