On Fri, Jun 12, 2009 at 6:19 AM, Stefan Washietl <[email protected]> wrote:
> I'm developing a desktop application using Catalyst and the brand new > Titanium framework (http://www.appcelerator.com/). > > I need to start/stop the standalone server programatically. Starting is > easy, but stopping the server (and its forks) again is tricky. I'd like a > solution without keeping track of the PID and explicitely kill it from > outside. I want to have something like > > http://localhost:3000/kill > > that calls something in the controller to shut down. The obvious thing > > exit(0); > > does not work. Any ideas how to do this? > > Stefan > > I just set this up with a combination of HTTP::Prefork and FCGI::Engine::Manager. I'm still floundering away a bit at a refactor of FCGI::Engine::Manager that is semantically more sound, but it works well enough right now. You'll have to grab Catalyst::Engine::HTTP::Prefork out of svn, or prod andyg enough so he releases (HEY ANDY!) http://dev.catalystframework.org/repos/Catalyst/trunk/Catalyst-Engine-HTTP-Prefork/ Here's all the yummy bits from my setup: http://gist.github.com/128642 You can just run script/myapp_admin.pl start|stop One thing, I copied the script/myapp_server.pl over to script/myapp_prefork.pl and changed the default CATALYST_ENGINE to HTTP::Prefork. This is because I couldn't figure out a clean way to set the ENV in FCGI::Engine::Manager::Server classes, but it's a temporary hack until I wrap that up. Hope this helps, -J
_______________________________________________ List: [email protected] Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
