Встраивание Mojolicious::Server в разветвленный процесс

Работаю над небольшим сборщиком сетевых потоков (например, ntop), и я хочу создать веб-сервер при запуске моей программы (не хочу заставлять людей настраивать внешний веб-сервер). У меня возникли проблемы с выяснением того, как запустить мое приложение в форке. Вот что я делаю:

#This is basically what the child process is doing.
#running this outside of my fork does the same thing.
use myApp;
use Mojo::Server;
use Mojo::Server::Daemon;
use Mojolicious::Commands;
my $daemon = Mojo::Server::Daemon->new( listen => ['http://*:5656'] );

Mojolicious::Commands->start_app('myApp');

myApp.pm содержит

sub startup
{
    my $self = shift();

    my $r = $self->routes;

    $r->get('/') => sub {
        my $self = shift;

        $self->render( text => "Howdy!!" );
    };

}

Когда я запускаю это, я получаю следующее. . .

usage: ./FlowTrack.pl COMMAND [OPTIONS]

Tip: CGI and PSGI environments can be automatically detected very often and
     work without commands.

These commands are currently available:
  cgi        Start application with CGI.
  cpanify    Upload distribution to CPAN.
  daemon     Start application with HTTP and WebSocket server.
  eval       Run code against application.
  generate   Generate files and directories from templates.
  get        Perform HTTP request.
.
.
etc
.

Я не нашел документов/примеров, делающих то, что я пытаюсь сделать. Я уверен, что просто ищу не в том месте.


person skarface    schedule 01.09.2012    source источник


Ответы (1)


Догадаться. Во всяком случае, ввод вопроса всегда, кажется, сажает семена исправления, если кто-то еще пытается это сделать. (У меня все еще есть ошибка в моем приложении, которая останавливает работу теста, но у меня запущен цикл сервера)

use MyApp;
use Mojo::Server;
use Mojo::Server::Daemon;
use Mojolicious::Commands;

my $daemon = Mojo::Server::Daemon->new( app => MyApp, listen => ['http://*:5656'] );

$daemon->run();

Наконец-то нашел пример, который помещал приложение в новый вызов демона. Затем я понял, что новый вызов, вероятно, тоже не запустил цикл, поэтому немного покопался. Решил удалить вопрос, но подумал, что кому-то он может быть полезен.

person skarface    schedule 01.09.2012
comment
Кажется, что ввод вопроса всегда приводит к исправлению... Программирование плюшевого мишки++ - person DavidO; 01.09.2012