--
This is SQueuer, a queueing proxy for Seti@Home

This proxy was written for two reasons:
1.  We got a new Mac, and it was generating work units every 5 hours,
    and as I don't have a permanent net connection, I wanted a way
    to be able to batch up the download and upload of work units.
2.  The only similar proxy is SetiQ, but the developer did it only for
    Windows, and wouldn't release the source so that it could be ported
    to FreeBSD.  It also only worked for a single user.  This proxy 
    has much better handling of a multiuser disconnected site.

I dedicate the server to Monica Ciric, without whom I wouldn't have had a
reason to write it.  It also couldn't have been done without the help of
Greg Lewis, who has been beta testing it and adding cool features.  Thanks
also to Gary Watts for testing it on Solaris and Steve Challans for testing
it on WinNT and Win9x.

Author
  Phil Kernick
  philk@rotfl.com.au
--

SQueuer, as mentioned above, acts as a proxy for Seti@Home clients,
allowing the queueing of both work units and results.  It has many
configuration options, which are documented in the comments of the
squeuer.conf example files in the etc directory.

The general idea of SQueuer is that you set it up on a central
machine (server) and then configure all of your clients to use that
as a proxy by supplying the '-proxy' command line option of the
client.  Having not used the graphical version of the client, I'm
not sure how to set the proxy for the graphical client.

INSTALL
-------

Here is a short guide as to how to install and set up SQueuer.
Although SQueuer works on both Windows and Mac OS, this installation
guide is biased towards Unix as that is the only platform I have
access to.  I'll incorporate corrections and extra information as
people send it to me and I have time to do more releases of SQueuer.

On Unix, I usually set up a use to run SQueuer as.  To simplify
things, you may want to give this user the username 'squeuer' since
thats what the example rc script use.  Adding a user to the system
requires root privilege and will involve the use of a tool such as
'useradd', 'adduser', 'pw' or 'vipw', depending on what Unix variant
you use.  Note that this step is NOT necessary, you can run SQueuer
as your current user if you don't want to or can't add a user.

On to the actual SQueuer installation:  

1. Place the squeuer.pl script in an appropriate location on your
   machine.  I'm personally partial to /usr/local/sbin/squeuer, but
   you can put it anywhere.

2. Set up a configuration file for SQueuer.  There are two examples
   provided with the installation, one for Unix, one for Windows.  Pick
   the appropriate one and modify it to suit your taste.  This is
   optional, as SQueuer does provide some built in defaults for all
   the options.

3. Ensure the directories for the SQueuer spool_path and the log
   file optionally named in log_method exist and are writeable by the
   user who will be running the SQueuer script.  If you've created a
   separate user, you probably want to chown the directory pointed to
   by spool_path to that user.

4. Start SQueuer!  With my normal placement of files I do something like:

	/usr/local/sbin/squeuer -f /usr/local/etc/squeuer.conf > squeuer.pid

   Alternatively, set up an rc script and start SQueuer that way.
   There is an example script in the etc/rc.d directory.  Whichever
   method you choose of starting it, check the log to make sure its
   started up correctly.

5. Now that you have SQueuer is running, restart your Seti@Home
   clients with the -proxy option pointed to the SQueuer service.

   NOTE: The first client started may not get a work unit back as
         SQueuer won't serve units until it has some to serve and
         the initial request currently causes SQueuer to attempt to
         download a complete queue of work units, which may not
         complete in time to serve the client.

Greg Lewis
11 August 2003
