NAME
   BatchSystem::SBS - a Simple Batch System

DESCRIPTIONESCRIPTION
   A light, file based batch system.

SYNOPSIS
  a short example
   #edit examples/sbsconfig-examples-1.xml to put your own local machines
   (it can be a good idea, if you have not a cluster, to enter your local
   machine with different addresses (localhost, 123.156.78.90, hostname) to
   see sommething a bit more realistic...

   #System status #in a side term, to see every second the watch -n 1
   ../scripts/sbs-scheduler-print.pl --config=sbsconfig-examples-1.xml

   #to submit or dozen or so scripts on queue 'single'

   ../scripts/sbs-batch-submit.pl --config=sbsconfig-examples-1.xml
   --queue=single --command=a.sh --command=a.sh --command=a.sh
   --command=a.sh --command=a.sh --command=a.sh --command=a.sh
   --command=a.sh --command=a.sh --command=a.sh --command=a.sh
   --command=a.sh --command=a.sh --command=a.sh

   #and on a higher priority queue

   ../scripts/sbs-batch-submit.pl --config=sbsconfig-examples-1.xml
   --queue=single_high --command=a.sh --command=a.sh --command=a.sh
   --command=a.sh --command=a.sh --command=a.sh --command=a.sh
   --command=a.sh --command=a.sh --command=a.sh --command=a.sh
   --command=a.sh --command=a.sh --command=a.sh

   #to update

   ../scripts/sbs-scheduler-update.pl --config=sbsconfig-examples-1.xml

   #to check data consistency (and solve main problems

   ../scripts/sbs-scheduler-check.pl

   #to remove a job --config=sbsconfig-examples-1.xml

   ../scripts/sbs-batch-remove --config=sbsconfig-examples-1.xml yourjobid

  submiting command
   You can submit either comman or scripts.

   Script submited on a resource of type 'machine' will be sshed on the
   host

   Once a resource is attributed to a job, the script is transformed,
   changing the following varaibles (see examples/*.sh)

   $(machinefile} (for cluster type resource)
   ${nbmachines} (for cluster type resource)
   ${host} (for machine type resource)
   ${jobid}

   At submition time, a directory with the job number (incremented integer)
   is created, where stdout/err will be written.

   There will also have a batch.properties file (pids, start time etc.
   etc.)

EXPORT
FUNCTIONS
METHODS
  my $sbs=BatchSystem::SBS->new();
 Accessors
  $sbs->scheduler
   Returns the scheduler (BatchSystem::SBS::DefaultScheduler)

  $sbs->workingDir([$val])
   Get set the working directory

  $sbs->
  $sbs->
 Actions
  $sbs->job_submit(command=>cmd, queue=>queuename);
   Returns a jobid

  $sbs->job_remove(id=>job_id);
   Remove the job from the list, the scheduler, kill processes

  $sbs->job_infoStr(id=>job_id);
   Returns a string (or undef if no job exist) with the job info

  $sbs->job_info(id=>job_id);
   Returns a hash (or undef if no job exist) with the job info

  $sbs->jobs_dir([clean=>1]);
   Get the job directory;

   clean=>1 argument will clean the whole job directory

  $sbs->jobs_list()
   Returns an n x 4 array (each row contains jobid, queuename, scripts)

 I/O
  $sbs->readConfig(file=>file.xml)
   Read its config from an xml file (see examples/ dir)

AUTHOR
   Alexandre Masselot, "<[email protected]>"

BUGS
   Please report any bugs or feature requests to
   "[email protected]", or through the web interface at
   <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=BatchSystem-SBS>. I will
   be notified, and then you'll automatically be notified of progress on
   your bug as I make changes.

ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
   Copyright (C) 2004-2006 Geneva Bioinformatics (www.genebio.com) &
   Jacques Colinge (Upper Austria University of Applied Science at
   Hagenberg)

   This library is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published by
   the Free Software Foundation; either version 2.1 of the License, or (at
   your option) any later version.

   This library is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
   General Public License for more details.

   You should have received a copy of the GNU Lesser General Public License
   along with this library; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA