[Catalyst] auto re-load of application yaml config file?

Pedro Melo melo at simplicidade.org
Thu Jul 24 12:51:03 BST 2008


On Jul 24, 2008, at 3:33 AM, Matt S Trout wrote:
> On Wed, Jul 23, 2008 at 11:26:18PM +0100, Pedro Melo wrote:
>> On Jul 23, 2008, at 4:32 AM, Matt S Trout wrote:
>>> On Tue, Jul 22, 2008 at 12:53:10PM +0200, Marc Sebastian Pelzer  
>>> wrote:
>>>> Hello,
>>>> I'm running a Catalyst application under mod_perl and wonder if  
>>>> there
>>>> is a Plugin available that detects changes on the main
>>>> application .yml config file and does a automatic re-load if  
>>>> needed?
>>>> It not - what would be the most elegant (and less I/O intensive)  
>>>> way
>>>> of doing this? Would it be enough to do a
>>>> __PACKAGE__->config( 'Plugin::ConfigLoader' => { file =>
>>>> 'my_config.yml' } );
>>>> in my Root controller when I detect a change?
>>> Nope. apache2ctl restart, minimum.
>>> You may find external FastCGI and a handler swap is a better  
>>> approach.
>> Or mod_perl backends (old and new) and a decent load balancer like
>> perlbal.
> Same approach. Different technologies.
> I find getting two FastCGI handlers running much less of a pain in the
> arse than getting two mod_perl instances running - the distro stuff  
> tends
> to get in the way and even once I've beaten it out of the way it's  
> much
> more work than FCGI.

100% agreed.

I'm just pointing Perlbal because it is a extremely flexible HTTP load  
balancer. You can do stuff like redirecting a single user to a  
different server to diagnose a problem they are having, or moving from  
version N to version N+1 of your app only at certain safe points (like  
login). We use all of these plus, we can have a pre-production  
environment on the same domain.

All with Perlbal handlers.

And yes, the tradeoff is mod_perl, which is more complex than FCGI.

Best regards,
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: melo at simplicidade.org

More information about the Catalyst mailing list