The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Sub::Slice::Backend::Filesystem - Default backend for Sub::Slice

SYNOPSIS

See Sub::Slice::Backend.

DESCRIPTION

Implementation of the Sub::Slice::Backend API using Filesystem & Storable. See Sub::Slice and Sub::Slice::Backend for more information.

Data is stored in one directory per job corresponding to the unique job ID. Within this directory there is a single storable file containing the job data and possibly other uniquely-named files containing BLOB data. The mapping of key to unique filename for BLOBs is stored within the job.

STORAGE OPTIONS

path

The directory in which Sub::Slice tokens are stored. Default is File::Spec::Functions::tmpdir()."/sub_slice". Sub::Slice will create that directory if it does not exist already.

NB. Beware of running Sub::Slice under multiple users using the default path. Unless you are careful with umask settings, you may create a directory that only some Sub::Slice users can write to.

prefix

Prefix for all IDs generated by the module. Default is "Sub__Slice__".

unique_key_length

Length of the unique part of the key. Default is 12 characters.

job_filename

Filename containing the job data. The default is "sub_slice_job.store".

lax

Relaxes the check that enforces that job ids match the prefix and unique key length specified in the constructor. This normally prevents you loading a valid Sub::Slice token from another application if 2 applications share the same $path but use a different prefix.

TODO

locking functionality

This may be added in a future version and should default to something reasonably safe (ie. only one process should be able to work on a job at any point in time)

VERSION

$Revision: 1.13 $ on $Date: 2005/01/12 16:51:19 $ by $Author: simonf $

AUTHOR

John Alden and Simon Flack <cpan _at_ bbc _dot_ co _dot_ uk>

COPYRIGHT

(c) BBC 2005. This program is free software; you can redistribute it and/or modify it under the GNU GPL.

See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt