NAME
NetSDS::Queue - simple API to MemcacheQ powered queue
SYNOPSIS
use NetSDS::Queue;
use Data::Dumper;
my $q = NetSDS::Queue->new( server => '10.0.0.5:18181' );
# Push messages to queue
$q->push('myq', { id => 1, text => 'one'});
$q->push('myq', { id => 2, text => 'two'});
$q->push('myq', { id => 3, text => 'three'});
# Fetch messages from queue
while ( my $data = $q->pull('myq') ) {
print Dumper($data);
}
DESCRIPTION
NetSDS::Queue
module provides simple API to NetSDS queue.
Low level messaging is based on fast and reliable MemcacheQ server. It use BerkeleyDB for persistance and Memchache protocol over TCP or Unix sockets.
Every message is converted to JSON and then stored as Base64 string.
CLASS API
- new(%params) - class constructor
-
The following parameters accepted:
* server - address to MemcacheQ queue server (host:port)
my $queue = NetSDS::Queue->new(server => '192.168.0.1:12345');
Default server address is 127.0.0.1:22201
- push($queue, $data) - push message to queue
-
$queue->push('msgq', $my_data);
- pull($queue) - fetch message from queue
-
my $data = $queue->pull('msgq');
EXAMPLES
See files in samples
catalog.
BUGS
Unknown yet
SEE ALSO
http://memcachedb.org/memcacheq/ - MemcacheQ server
http://openhack.ru/Cache-Memcached-Fast - Perl XS API to Memcached servers
TODO
None
AUTHOR
Michael Bochkaryov <misha@rattler.kiev.ua>
LICENSE
Copyright (C) 2008 Michael Bochkaryov
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA