[Catalyst-commits] r6314 - trunk/Catalyst-Engine-HTTP-POE
bricas at dev.catalyst.perl.org
bricas at dev.catalyst.perl.org
Thu Apr 26 17:06:45 GMT 2007
Author: bricas
Date: 2007-04-26 17:06:44 +0100 (Thu, 26 Apr 2007)
New Revision: 6314
Added:
trunk/Catalyst-Engine-HTTP-POE/README
Removed:
trunk/Catalyst-Engine-HTTP-POE/Build.PL
trunk/Catalyst-Engine-HTTP-POE/MANIFEST
Modified:
trunk/Catalyst-Engine-HTTP-POE/Changes
trunk/Catalyst-Engine-HTTP-POE/Makefile.PL
Log:
switch to Module::Install
Deleted: trunk/Catalyst-Engine-HTTP-POE/Build.PL
===================================================================
--- trunk/Catalyst-Engine-HTTP-POE/Build.PL 2007-04-26 15:50:30 UTC (rev 6313)
+++ trunk/Catalyst-Engine-HTTP-POE/Build.PL 2007-04-26 16:06:44 UTC (rev 6314)
@@ -1,19 +0,0 @@
-use strict;
-use Module::Build;
-
-my $build = Module::Build->new(
- create_makefile_pl => 'passthrough',
- license => 'perl',
- module_name => 'Catalyst::Engine::HTTP::POE',
- requires => {
- 'Catalyst' => '5.67',
- 'POE' => '0',
- },
- create_makefile_pl => 'passthrough',
- create_readme => 1,
- test_files => [
- glob('t/0*.t')
- ],
- create_readme => 1,
-);
-$build->create_build_script;
Modified: trunk/Catalyst-Engine-HTTP-POE/Changes
===================================================================
--- trunk/Catalyst-Engine-HTTP-POE/Changes 2007-04-26 15:50:30 UTC (rev 6313)
+++ trunk/Catalyst-Engine-HTTP-POE/Changes 2007-04-26 16:06:44 UTC (rev 6314)
@@ -5,6 +5,7 @@
- Removed time prefix from warn calls.
- Allow custom alias to be passed in.
- Added $kernel->call('status') method for retrieving current status.
+ - Switch to Module::Install
0.06 2007-02-27 16:00:00
- Keep-alive support.
Deleted: trunk/Catalyst-Engine-HTTP-POE/MANIFEST
===================================================================
--- trunk/Catalyst-Engine-HTTP-POE/MANIFEST 2007-04-26 15:50:30 UTC (rev 6313)
+++ trunk/Catalyst-Engine-HTTP-POE/MANIFEST 2007-04-26 16:06:44 UTC (rev 6314)
@@ -1,122 +0,0 @@
-Build.PL
-Changes
-lib/Catalyst/Engine/HTTP/POE.pm
-Makefile.PL
-MANIFEST This list of files
-META.yml
-README
-t/01use.t
-t/02pod.t
-t/03podcoverage.t
-t/catalyst_130pix.gif
-t/lib/Catalyst/Action/TestAfter.pm
-t/lib/Catalyst/Action/TestBefore.pm
-t/lib/Catalyst/Plugin/Test/Errors.pm
-t/lib/Catalyst/Plugin/Test/Headers.pm
-t/lib/Catalyst/Plugin/Test/Plugin.pm
-t/lib/PluginTestApp.pm
-t/lib/TestApp.pm
-t/lib/TestApp/Action/TestBefore.pm
-t/lib/TestApp/Action/TestMyAction.pm
-t/lib/TestApp/Controller/Action.pm
-t/lib/TestApp/Controller/Action/Action.pm
-t/lib/TestApp/Controller/Action/Auto.pm
-t/lib/TestApp/Controller/Action/Auto/Abort.pm
-t/lib/TestApp/Controller/Action/Auto/Deep.pm
-t/lib/TestApp/Controller/Action/Auto/Default.pm
-t/lib/TestApp/Controller/Action/Begin.pm
-t/lib/TestApp/Controller/Action/Chained.pm
-t/lib/TestApp/Controller/Action/Chained/Auto.pm
-t/lib/TestApp/Controller/Action/Chained/Auto/Bar.pm
-t/lib/TestApp/Controller/Action/Chained/Auto/Detach.pm
-t/lib/TestApp/Controller/Action/Chained/Auto/Foo.pm
-t/lib/TestApp/Controller/Action/Chained/Auto/Forward.pm
-t/lib/TestApp/Controller/Action/Chained/Bar.pm
-t/lib/TestApp/Controller/Action/Chained/Foo.pm
-t/lib/TestApp/Controller/Action/Chained/ParentChain.pm
-t/lib/TestApp/Controller/Action/Chained/PassedArgs.pm
-t/lib/TestApp/Controller/Action/Chained/Root.pm
-t/lib/TestApp/Controller/Action/Default.pm
-t/lib/TestApp/Controller/Action/Detach.pm
-t/lib/TestApp/Controller/Action/End.pm
-t/lib/TestApp/Controller/Action/Forward.pm
-t/lib/TestApp/Controller/Action/Global.pm
-t/lib/TestApp/Controller/Action/Index.pm
-t/lib/TestApp/Controller/Action/Inheritance.pm
-t/lib/TestApp/Controller/Action/Local.pm
-t/lib/TestApp/Controller/Action/Path.pm
-t/lib/TestApp/Controller/Action/Private.pm
-t/lib/TestApp/Controller/Action/Regexp.pm
-t/lib/TestApp/Controller/Action/Streaming.pm
-t/lib/TestApp/Controller/Action/TestMultipath.pm
-t/lib/TestApp/Controller/Action/TestRelative.pm
-t/lib/TestApp/Controller/Args.pm
-t/lib/TestApp/Controller/Dump.pm
-t/lib/TestApp/Controller/Engine/Request/Uploads.pm
-t/lib/TestApp/Controller/Engine/Request/URI.pm
-t/lib/TestApp/Controller/Engine/Response/Cookies.pm
-t/lib/TestApp/Controller/Engine/Response/Errors.pm
-t/lib/TestApp/Controller/Engine/Response/Headers.pm
-t/lib/TestApp/Controller/Engine/Response/Large.pm
-t/lib/TestApp/Controller/Engine/Response/Redirect.pm
-t/lib/TestApp/Controller/Engine/Response/Status.pm
-t/lib/TestApp/Controller/Fork.pm
-t/lib/TestApp/Controller/Index.pm
-t/lib/TestApp/Controller/Priorities.pm
-t/lib/TestApp/Controller/Priorities/loc_vs_index.pm
-t/lib/TestApp/Controller/Priorities/locre_vs_index.pm
-t/lib/TestApp/Controller/Priorities/MultiMethod.pm
-t/lib/TestApp/Controller/Priorities/path_vs_index.pm
-t/lib/TestApp/Controller/Priorities/re_vs_index.pm
-t/lib/TestApp/Controller/Root.pm
-t/lib/TestApp/Model/Foo.pm
-t/lib/TestApp/Model/Foo/Bar.pm
-t/lib/TestApp/Plugin/FullyQualified.pm
-t/lib/TestApp/View/Dump.pm
-t/lib/TestApp/View/Dump/Parameters.pm
-t/lib/TestApp/View/Dump/Request.pm
-t/lib/TestApp/View/Dump/Response.pm
-t/lib/TestAppChainedAbsolutePathPart.pm
-t/lib/TestAppChainedAbsolutePathPart/Controller/Foo.pm
-t/lib/TestAppChainedRecursive.pm
-t/lib/TestAppChainedRecursive/Controller/Foo.pm
-t/lib/TestAppDoubleAutoBug.pm
-t/live_component_controller_action_action.t
-t/live_component_controller_action_auto.t
-t/live_component_controller_action_begin.t
-t/live_component_controller_action_chained.t
-t/live_component_controller_action_default.t
-t/live_component_controller_action_detach.t
-t/live_component_controller_action_end.t
-t/live_component_controller_action_forward.t
-t/live_component_controller_action_global.t
-t/live_component_controller_action_index.t
-t/live_component_controller_action_inheritance.t
-t/live_component_controller_action_local.t
-t/live_component_controller_action_multipath.t
-t/live_component_controller_action_path.t
-t/live_component_controller_action_private.t
-t/live_component_controller_action_regexp.t
-t/live_component_controller_action_streaming.t
-t/live_component_controller_args.t
-t/live_engine_request_body.t
-t/live_engine_request_cookies.t
-t/live_engine_request_headers.t
-t/live_engine_request_parameters.t
-t/live_engine_request_uploads.t
-t/live_engine_request_uri.t
-t/live_engine_response_cookies.t
-t/live_engine_response_errors.t
-t/live_engine_response_headers.t
-t/live_engine_response_large.t
-t/live_engine_response_redirect.t
-t/live_engine_response_status.t
-t/live_engine_setup_basics.t
-t/live_engine_setup_plugins.t
-t/live_fork.t
-t/live_loop.t
-t/live_plugin_loaded.t
-t/live_priorities.t
-t/live_recursion.t
-t/optional_poe-server.t
-t/testapp_poe.pl
Modified: trunk/Catalyst-Engine-HTTP-POE/Makefile.PL
===================================================================
--- trunk/Catalyst-Engine-HTTP-POE/Makefile.PL 2007-04-26 15:50:30 UTC (rev 6313)
+++ trunk/Catalyst-Engine-HTTP-POE/Makefile.PL 2007-04-26 16:06:44 UTC (rev 6314)
@@ -1,31 +1,10 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.03
-
- unless (eval "use Module::Build::Compat 0.02; 1" ) {
- print "This module requires Module::Build to install itself.\n";
-
- require ExtUtils::MakeMaker;
- my $yn = ExtUtils::MakeMaker::prompt
- (' Install Module::Build now from CPAN?', 'y');
-
- unless ($yn =~ /^y/i) {
- die " *** Cannot install without Module::Build. Exiting ...\n";
- }
-
- require Cwd;
- require File::Spec;
- require CPAN;
-
- # Save this 'cause CPAN will chdir all over the place.
- my $cwd = Cwd::cwd();
-
- CPAN::Shell->install('Module::Build::Compat');
- CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate
- or die "Couldn't install Module::Build, giving up.\n";
-
- chdir $cwd or die "Cannot chdir() back to $cwd: $!";
- }
- eval "use Module::Build::Compat 0.02; 1" or die $@;
-
- Module::Build::Compat->run_build_pl(args => \@ARGV);
- require Module::Build;
- Module::Build::Compat->write_makefile(build_class => 'Module::Build');
+use inc::Module::Install 0.65;
+
+name 'Catalyst-Engine-HTTP-POE';
+all_from 'lib/Catalyst/Engine/HTTP/POE.pm';
+
+requires 'Catalyst::Runtime';
+requires 'POE';
+
+auto_install;
+WriteAll;
Added: trunk/Catalyst-Engine-HTTP-POE/README
===================================================================
--- trunk/Catalyst-Engine-HTTP-POE/README (rev 0)
+++ trunk/Catalyst-Engine-HTTP-POE/README 2007-04-26 16:06:44 UTC (rev 6314)
@@ -0,0 +1,58 @@
+NAME
+ Catalyst::Engine::HTTP::POE - Single-threaded multi-tasking Catalyst
+ engine
+
+SYNOPIS
+ CATALYST_ENGINE='HTTP::POE' script/yourapp_server.pl
+
+ # Prefork 5 children
+ CATALYST_POE_MAX_PROC=6 CATALYST_ENGINE='HTTP::POE' script/yourapp_server.pl
+
+DESCRIPTION
+ This engine allows Catalyst to process multiple requests in parallel
+ within a single process. Much of the internal Catalyst flow now uses POE
+ yield calls. Application code will still block of course, but all I/O,
+ header processing, and POST body processing is handled asynchronously.
+
+ A good example of the engine's power is the
+ Catalyst::Plugin::UploadProgress demo application, which can process a
+ file upload as well as an Ajax polling request at the same time in the
+ same process.
+
+ This engine requires at least Catalyst 5.67.
+
+RESTART SUPPORT
+ As of version 0.05, the -r flag is supported and the server will restart
+ itself when any application files are modified.
+
+PREFORKING
+ As of version 0.05, the engine is able to prefork a set number of child
+ processes to distribute requests. Set the CATALYST_POE_MAX_PROC
+ environment variable to the total number of processes you would like to
+ run, including the parent process. So, to prefork 5 children, set this
+ value to 6. This value may also be set by modifying yourapp_server.pl
+ and adding max_proc to the options hash passed to YourApp->run().
+
+DEBUGGING
+ To enable trace-level debugging, set the environment variable
+ CATALYST_POE_DEBUG.
+
+ At any time you can get a dump of the internal state of the engine by
+ sending a USR1 signal to the running process.
+
+EXPERIMENTAL STATUS
+ This engine should still be considered experimental and likely has bugs,
+ however as it's only intended for development, please use it and report
+ bugs.
+
+ The engine has been tested with the UploadProgress demo, the Streaming
+ example, and one of my own moderately large applications. It also fully
+ passes the Catalyst test suite.
+
+AUTHOR
+ Andy Grundman, <andy at hybridized.org>
+
+COPYRIGHT
+ This program is free software, you can redistribute it and/or modify it
+ under the same terms as Perl itself.
+
More information about the Catalyst-commits
mailing list