-
-
05 Jun 2017 14:11:33 UTC
- Distribution: POE-Component-MessageQueue
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Repository
- Issues
- Testers (429 / 46 / 0)
- Kwalitee
Bus factor: 0- 66.78% Coverage
- License: perl_5
- Activity
24 month- Tools
- Download (75.43KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 3 contributors- David Snopek (http://www.hackyourlife.org)
-
Paul Driver
-
Daisuke Maki
- Dependencies
- Best
- Carp
- DBD::SQLite
- DBI
- Data::Dumper
- Data::UUID
- Event::Notify
- Exception::Class::DBI
- Exception::Class::TryCatch
- File::Temp
- Heap
- Heap::Fibonacci
- IO::File
- IO::String
- Moose
- MooseX::MultiInitArg
- Net::EmptyPort
- Net::Stomp
- POE
- POE::Component::Generic
- POE::Component::Logger
- POE::Component::Server::TCP
- POE::Filter::Stomp
- POE::Wheel::ReadWrite
- Test::Exception
- Test::MockObject
- Test::More
- YAML
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
POE::Component::MessageQueue::Storage::BigMemory -- In-memory storage engine optimized for a large number of messages.
SYNOPSIS
use POE; use POE::Component::MessageQueue; use POE::Component::MessageQueue::Storage::BigMemory; use strict; POE::Component::MessageQueue->new({ storage => POE::Component::MessageQueue::Storage::BigMemory->new() }); POE::Kernel->run(); exit;
DESCRIPTION
An in-memory storage engine that is optimised for a large number of messages. Its an alternative to POE::Componenent::MessageQueue::Storage::Memory, which stores everything in a Perl ARARY, which can slow the MQ to a CRAWL when the number of messsages in this store gets big.
store() is a little bit slower per message in this module and it uses more memory per message. Everything else should be considerably more efficient, though, especially when the number of messages starts to climb. Many operations in Storage::Memory are O(n*n). Most operations in this module are O(1)!
I wouldn't suggest using this as your main storage engine because if messages aren't removed by consumers, it will continue to consume more memory until it explodes. Check-out POE::Component::MessageQueue::Storage::Complex which can use this module internally to keep messages in memory for a period of time before moving them into persistent storage.
CONSTRUCTOR PARAMETERS
None to speak of!
SUPPORTED STOMP HEADERS
- persistent
-
Ignored. Nothing is persistent in this store.
- expire-after
-
Ignored. All messages are kept until handled.
- deliver-after
-
Fully Supported.
SEE ALSO
POE::Component::MessageQueue, POE::Component::MessageQueue::Storage
Other storage engines:
POE::Component::MessageQueue::Storage::Memory, POE::Component::MessageQueue::Storage::FileSystem, POE::Component::MessageQueue::Storage::DBI, POE::Component::MessageQueue::Storage::Generic, POE::Component::MessageQueue::Storage::Generic::DBI, POE::Component::MessageQueue::Storage::Throttled, POE::Component::MessageQueue::Storage::Complex, POE::Component::MessageQueue::Storage::Default
Module Install Instructions
To install POE::Component::MessageQueue, copy and paste the appropriate command in to your terminal.
cpanm POE::Component::MessageQueue
perl -MCPAN -e shell install POE::Component::MessageQueue
For more information on module installation, please visit the detailed CPAN module installation guide.