XAS::Spooler - A set of procedures and modules to implement a spooler
The spooler is used for messaging within XAS. A spooler is as old as computing. Computer lore has it that IBM coined the term SPOOL and used spoolers to buffer line printer output. In our case it is being used to implement a store and forward messaging scheme. Which in itself, is almost as old a spooling.
When a process wants to send a message, it creates a spool file. The spool file is a serialized Perl data structure in JSON format, with special headers. The spooler scans the spool directory and sends the packet to an appropriate queue on a message queue server. XAS::Collector is used as the endpoint to handle those messages. The messaging protocol used by the message queue server is known as STOMP, which is a text based protocol.
The reason to do all of this, is to decouple the message sender from the message receiver. This simplifies the sender. There is no need to implement all of the logic to open network connections and the maintenance of those connections. It also allows for buffering of the message stream. A fast sender doesn't have to worry about a slow receiver. The spooler takes care of this.
This module provides the following utilities.
This is the actual spooler. It reads a configuration file to determine which spool directories to scan. The configuration file also says which queues to use for those packets.
The configuration file is documented here: XAS::Apps::Spooler::Process
This will display a brief help screen on command options.
This will display the utilities man page.
Kevin L. Esteb, <kevin@kesteb.us>
Copyright (c) 2012-2015 Kevin L. Esteb
This is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0. For details, see the full text of the license at http://www.perlfoundation.org/artistic_license_2_0.
To install XAS::Spooler, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XAS::Spooler
CPAN shell
perl -MCPAN -e shell install XAS::Spooler
For more information on module installation, please visit the detailed CPAN module installation guide.