> On Fri, Jun 12, 2009 at 6:50 AM, J. Shirley <[email protected]
> <mailto:[email protected]>> wrote:
ou'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/

Thank you. I'll have a look at this solution. It is probably a good idea to use Engine::HTTP::Prefork anyway instead of the simple test/development-server.


J. Shirley wrote:
On Fri, Jun 12, 2009 at 6:50 AM, J. Shirley <[email protected] <mailto:[email protected]>> wrote:

    On Fri, Jun 12, 2009 at 6:19 AM, Stefan Washietl <[email protected]
    <mailto:[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,


I forgot to finish this off, you can have the kill action then run the stop command and then everything is going from the same point. Just executing a system call to kill it means that the current request should finish cleanly, along with everything else.

It may be overkill, but that's how I'd do it (just so any post-shutdown scripts are always executed, etc)

-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/

_______________________________________________
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/

Reply via email to