[SCM] libmessage-passing-perl Debian packaging branch, master, updated. debian/0.111-3-14-g44f6e88

Tomas Doran bobtfish at bobtfish.net
Mon May 6 11:57:18 UTC 2013


The following commit has been merged in the master branch:
commit 22ff75cfc20ba4ed0167be4390493f66d5dceb5c
Author: Tomas Doran <bobtfish at bobtfish.net>
Date:   Mon Jun 11 14:23:26 2012 -0400

    More docs

diff --git a/TODO b/TODO
index 3a4be9b..1cde0df 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,11 @@
 Need upload:
     - Message::Passing::STOMP
     - Message::Passing::AMQP
+    - Message::Passing
+
+Slides:
+   - Moar demos
+   - More diagrams
 
 Code core/general:
     - Generic blessed object serialize filter
@@ -26,11 +31,6 @@ Docs:
  - Write
 
  Message::Passing::Manual::Cookbook:
- - Logging from an application
-   - Fix examples
-   - Example without Log::Dispatch
-   - Explain why ZMQ (this is in ::Concepts currently?)
-
  - Aggregating this log
    - Link to building own script
    - Note other script options
diff --git a/lib/Message/Passing/Manual/Cookbook.pod b/lib/Message/Passing/Manual/Cookbook.pod
index d9b50dc..aa5d817 100644
--- a/lib/Message/Passing/Manual/Cookbook.pod
+++ b/lib/Message/Passing/Manual/Cookbook.pod
@@ -36,6 +36,40 @@ As simple as using the command line interface:
 
 And you've now got a multi-host log aggregation system for your application!
 
+=head2 Doing it manually
+
+You don't have to do any of the above, if you don't want to - you can easily reuse the ZeroMQ
+output yourself:
+
+    my $log = essage::Passing::Output::ZeroMQ->new(
+        connect => 'tcp://192.168.0.1:5558',
+    );
+    $log->consume("A log message");
+
+=head2 A note about outputs
+
+Outputting messages from within your application using L<Message::Passing> outputs B<except>
+the ZeroMQ output is disrecommended. This is as ZeroMQ uses a different (POSIX) thread with which to send
+messages - meaning that it transports messages independntly of your perl code.
+
+This is B<not> the case for other message outputs, and therefore they are unlikely to work
+well, or at all, unless your application is already asynchronous and using an L<AnyEvent> supported event
+library.
+
+=head2 A note about ZeroMQ
+
+By default L<Message::Passing::ZeroMQ> will use PUB/SUB sockets for logging, with a finite 'high water mark'.
+
+This means that if your application logs significantly more data than you can fit down the network, you
+B<will drop logs>.
+
+If your application needs to do this, you can either increase this high water mark, or disable it
+(so ZeroMQ will buffer an infinite number of messages at the sending client - potentially using infinite RAM).
+
+The default setting is for the output to buffer up to 10000 messages on the output side, which should be
+enough to manage short term peaks, but is low enough to be reasonably safe in terms of memory consumption
+for buffering
+
 =head1 Aggregating syslog
 
 Assuming that you've got a regular syslogd setup and working, then you probably want to keep that.

-- 
libmessage-passing-perl Debian packaging



More information about the Pkg-perl-cvs-commits mailing list