NAME

Apache::Backend::POE - Initiate a persistent connection to a POE server

SYNOPSIS

# Configuration in httpd.conf:

PerlModule Apache::Backend::POE

# use in startup.pl

Apache::Backend::POE->connect_on_init(host => 'localhost', port => 2021, alias => 'poeky');

# use in mod_perl handler
Apache::Backend::POE->

DESCRIPTION

This module initiates a persistent connection to a POE server.

CONFIGURATION

The module should be loaded upon startup of the Apache daemon. Add the following line to your httpd.conf or startup.pl:

PerlModule Apache::Backend::POE

A common usage is to load the module in a startup file via the PerlRequire directive. See eg/startup.pl for an example.

There are two configurations which are server-specific and which can be done upon server startup:

Apache::Backend::POE->connect_on_init(host => $host, port => $port, alias => $alias);

This can be used as a simple way to have apache servers establish connections on process startup. Alias defaults to 'backend'

Apache::Backend::POE->setPingTimeOut($timeout, $alias);

This configures the usage of the ping method, to validate a connection. Setting the timeout to 0 will always validate the connection using the ping method (default). Setting the timeout < 0 will de-activate the validation of the connection object. Setting the timeout > 0 will ping the connection only if the last access was more than timeout seconds before. Alias defaults to 'backend'

For the menu item 'Backend POE connections' you need to call Apache::Status BEFORE Apache::Backend::POE ! For an example of the configuration order see startup.pl.

To enable debugging the variable $Apache::Backend::POE::DEBUG must be set. This can either be done in startup.pl or in the user script. Setting the variable to 1, just reports about a new connect. Setting the variable to 2 enables full debug output.

PREREQUISITES

Note that this module needs mod_perl-1.08 or higher, apache_1.3.0 or higher and that mod_perl needs to be configured with the appropriate call-back hooks:

PERL_CHILD_INIT=1 PERL_STACKED_HANDLERS=1. 

Also, Storable should be the same version on both the client and server.

MOD_PERL 2.0

Apache::Backend::POE might not work under mod_perl 2.0. Please send patches.

SERVER

See the examples directory for a POE server to get you started.

TODO

  • Authentication

  • SSL encryption

  • Rollback support

  • Create Backend::POE module for non mod_perl applications

  • Support for other serializers like YAML

BUG REPORTS

File bug reports at: http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Apache::Backend::POE

SEE ALSO

Apache, mod_perl, POE, Filter::Reference

AUTHOR

David Davis <xantus@cpan.org>

THANKS

Ask Bjoern Hansen, and Edmund Mergl for Apache::DBI

COPYRIGHT

Copyright 2005 by David Davis and Teknikill Software

This libaray is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 315:

'=item' outside of any '=over'

Around line 330:

You forgot a '=back' before '=head1'