Peter Karman > Dezi-Bot > Dezi::Bot::Queue

Download:
Dezi-Bot-0.003.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.003   Source  

NAME ^

Dezi::Bot::Queue - web crawler queue

SYNOPSIS ^

 use Dezi::Bot::Queue;

 my $queue = Dezi::Bot::Queue->new(
    type     => 'DBI',
    dsn      => "DBI:mysql:database=$database;host=$hostname;port=$port",
    username => 'myuser',
    password => 'mysecret',
 );
 my $uri = 'http://dezi.org/bot.html';
 $queue->put($uri);
 $queue->size();    # returns number of items in queue
 $queue->peek;      # returns $uri (next value for get())
 $queue->get;       # returns $uri and removes it from queue

DESCRIPTION ^

The Dezi::Bot::Queue module adheres to the API of SWISH::Prog::Queue while optimized for persistent storage.

METHODS ^

new( config )

Returns a new Dezi::Bot::Queue object. config should be a series of key/value pairs (a hash). Supported config params are:

type

The backend storage type. Defaults to 'DBI' (see Dezi::Bot::Queue::DBI).

dsn

If type is DBI then the dsn value will be passed directly to the DBI->connect() method.

username

If type is DBI then the username value will be passed directly to the DBI->connect() method.

password

If type is DBI then the password value will be passed directly to the DBI->connect() method.

table_name

If type is DBI then the table_name value will be used to insert rows. Defaults to dezi_queue.

quote

If type is DBI then the quote value will be used to quote column names on insert. Defaults to false.

quote_char

If type is DBI then the quote_char value will be used when quote is true. Defaults to backtick.

init_store

All subclasses must implement this abstract method. Called internally in new().

name

Get/set the name of the queue.

put( item )

Add item to the queue.

get

Returns the next item.

peek

Returns the next item value, but leaves it on the stack.

size

Returns the number of items currently in the queue.

AUTHOR ^

Peter Karman, <karman at cpan.org>

BUGS ^

Please report any bugs or feature requests to bug-dezi-bot at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Dezi-Bot. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT ^

You can find documentation for this module with the perldoc command.

    perldoc Dezi::Bot

You can also look for information at:

COPYRIGHT & LICENSE ^

Copyright 2013 Peter Karman.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

syntax highlighting: