[Catalyst] Running multiple catalyst apps under mod_perl

Michael Reece mreece at sacbee.com
Tue Mar 29 02:39:13 CEST 2005


Preliminary troubleshooting shows that sometimes the app has the wrong
actions.

I added the following statement to Engine.pm's sub action:

use Data::Dumper; warn "my ($self) actions are ", Dumper
$self->actions->{plain}->{$action};

Usually I get:

my (Test1=HASH(0x875aed8)) actions are [
          'Test1',
          sub { "DUMMY" }
        ]
Test1 (Test1) default action called as Test1 at
/usr/local/apache_perl/packages/Test1/lib/Test1.pm line 18.


But occassionally (after viewing http://localhost/test2 a few times, then
going back to http://localhost/test1) I get:

my (Test1=HASH(0x8638d38)) actions are [
          'Test2',
          sub { "DUMMY" }
        ]
Test2 (Test2) default action called as Test2 at
/usr/local/apache_perl/packages/Test2/lib/Test2.pm line 18.




On 3/28/05 3:29 PM, "Michael Reece" <mreece at sacbee.com> wrote:

> I spoke too soon.  Each Catalyst app appears to be willing to handle the
> requests of the other.
> 
> I set up two small test applications.
> 
> ----------
> package Test1;
> 
> use strict;
> use Catalyst qw/-Debug/;
> 
> Test1->config(
>   name => 'Test1',
>   root => '/usr/local/apache_perl/packages/Test1/root',
> );
> 
> Test1->action(
>   '!default' => sub {
>       my ( $self, $c ) = @_;
>       $c->res->output('Congratulations, Test1 is on Catalyst!');
>   },
> );
> ----------
> 
> And:
> 
> ----------
> package Test2;
> 
> use strict;
> use Catalyst qw/-Debug/;
> 
> Test2->config(
>   name => 'Test2',
>   root => '/usr/local/apache_perl/packages/Test2/root',
> );
> 
> Test2->action(
>   '!default' => sub {
>       my ( $self, $c ) = @_;
>       $c->res->output('Congratulations, Test2 is on Catalyst!');
>   },
> );
> ----------
> 
> And, in httpd.conf:
> 
> ----------
> <Location /test1>
>   <Perl>
>   use lib '/usr/local/apache_perl/packages/Test1/lib';
>   </Perl>
>   SetHandler perl-script
>   PerlHandler Test1
> </Location>
>   
> <Location /test2>
>   <Perl>
>   use lib '/usr/local/apache_perl/packages/Test2/lib';
>   </Perl>
>   SetHandler perl-script
>   PerlHandler Test2
> </Location>
> ----------
> 
> And, it is a virtual coin-flip as to which message gets displayed (Test1 vs
> Test2) at either URL, http://localhost/test1 and http://localhost/test2
> 
> Any ideas?
> 
> 
> On 3/28/05 3:11 PM, "Michael Reece" <mreece at sacbee.com> wrote:
> 
>> Also, to follow up on my initial reasons for testing, Catalyst appears to
>> behave wonderfully with multiple applications.
> 
>> On 3/28/05 2:25 PM, "Michael Reece" <mreece at sacbee.com> wrote:
> 
>>>> I am testing out Catalyst as an alternative to Maypole (specifically
>>>> MasonX::Maypole).  My major gripe about Maypole and MXM is that it shares
>>>> config data across applications and I have not been able to reconcile all
>>>> the issues in order to run multiple apps on the same mod_perl apache
>>>> (Apache/1.3.27).
> 
> 
> _______________________________________________
> Catalyst mailing list
> Catalyst at lists.rawmode.org
> http://lists.rawmode.org/mailman/listinfo/catalyst
> 

-- 
michael reece :: web engineer :: mreece at sacbee.com :: (916)321-1249





More information about the Catalyst mailing list