POE::Component::MessageQueue::Storage::Generic -- Wraps storage engines that aren't asynchronous via POE::Component::Generic so they can be used.
use POE; use POE::Component::MessageQueue; use POE::Component::MessageQueue::Storage::Generic; use POE::Component::MessageQueue::Storage::Generic::DBI; use strict; # For mysql: my $DB_DSN = 'DBI:mysql:database=perl_mq'; my $DB_USERNAME = 'perl_mq'; my $DB_PASSWORD = 'perl_mq'; my $DB_OPTIONS = undef; POE::Component::MessageQueue->new({ storage => POE::Component::MessageQueue::Storage::Generic->new({ package => 'POE::Component::MessageQueue::Storage::DBI', options => [ dsn => $DB_DSN, username => $DB_USERNAME, password => $DB_PASSWORD, options => $DB_OPTIONS ], }) }); POE::Kernel->run(); exit;
Wraps storage engines that aren't asynchronous via POE::Component::Generic so they can be used.
Using this module is by far the easiest way to write custom storage engines because you don't have to worry about making your operations asynchronous. This approach isn't without its down-sides, but on the whole, the simplicity is worth it.
There is only one package currently provided designed to work with this module: POE::Component::MessageQueue::Storage::Generic::DBI.
The name of the package to wrap. Required.
An arrayref of the options to be passed to the supplied package's constructor.
POE::Component::MessageQueue, POE::Component::MessageQueue::Storage, POE::Component::Generic
Other storage engines:
POE::Component::MessageQueue::Storage::Memory, POE::Component::MessageQueue::Storage::BigMemory, POE::Component::MessageQueue::Storage::FileSystem, POE::Component::MessageQueue::Storage::DBI, POE::Component::MessageQueue::Storage::Generic::DBI, POE::Component::MessageQueue::Storage::Throttled, POE::Component::MessageQueue::Storage::Complex, POE::Component::MessageQueue::Storage::Default
To install POE::Component::MessageQueue, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POE::Component::MessageQueue
CPAN shell
perl -MCPAN -e shell install POE::Component::MessageQueue
For more information on module installation, please visit the detailed CPAN module installation guide.