2014年4月13日星期日

Re: [PerlChina] Re: Mojolicious::Lite 开发的web app如何部署到生产环境

从官方文档了解了hypnotoad,

Manager (old)  |- Worker [1]  |- Worker [2]  |- Worker [3]  |- Worker [4]  +- Manager (new)     |- Worker [1]     |- Worker [2]     |- Worker [3]     +- Worker [4]

workers

workers => 10

Number of worker processes, defaults to 4. A good rule of thumb is two worker processes per CPU core for applications that perform mostly non-blocking operations, blocking operations often require more and benefit from decreasing the number of concurrent "clients" (often as low as 1).


在 2014年4月13日星期日UTC+8下午9时05分11秒,方及道写道:
为什么呢?
还有其他的方式吗?

在 2014年4月13日星期日UTC+8下午7时04分37秒,Fayland Lam写道:
hypnotoad 就不会block了。

On Sun, Apr 13, 2014 at 5:09 PM, 方及道 <rungum...@gmail.com> wrote:
> 代码:
>
> #!/usr/bin/env perl
>
> use v5.010;
> use strict;
> use warnings;
>
> use Mojolicious::Lite;
>
> use File::Spec::Functions;
> use File::Temp qw/ tempfile /;
> use File::Slurp;
> use Scalar::Util 'weaken';
> use Data::Dumper;
>
> #under 'query';
>
> get '/' => 'index';
>
> post '/vddb' => sub {
>     my $self = shift;
>
>     say "------------------->";
>
>     # Check file size
>     return $self->render( text => 'File is too big.', status => 200 )
>         if $self->req->is_limit_exceeded;
>
>     # Process uploaded file
>     return $self->redirect_to('index')
>         unless my $vdna = $self->param('vdna');
>     my $size = $vdna->size;
>     my $name = $vdna->filename;
>
>     #my $dna_file = catfile( "/tmp/$name" );
>     #$vdna->move_to( $dna_file );
>
>     #my $dur  = dna_duration( $dna_file );
>     #my $rest = query_meta($name, $dur);
>     `du -sh /Users`;
>
>     $self->res->headers->content_type('text/xml');
>     $self->render( text => "<dna><size>$size</size><name>$name</name></dna>"
> );
> };
>
> app->start;
>
> __DATA__
>
> @@ index.html.ep
> <!DOCTYPE html>
> <html>
>   <head><title>Streaming multipart upload</title></head>
>   <body>
>     %= form_for "vddb" => (enctype => 'multipart/form-data') => begin
>     %= file_field 'vdna'
>     %= submit_button 'Query'
>     % end
>  </body>
> </html>
>
> 在 2014年4月13日星期日UTC+8下午5时07分54秒,方及道写道:
>>
>> hi:
>>
>> 我用Mojolicious::Lite写了个脚本,基本就是模仿官方文档的,用dev模式,morbe app.pl 是可以正常运行的。
>>
>> 但是发现其是blocking request的,只能一个一个处理request。
>>
>> 如何部署才能成为一个生产用的Server呢?
>>
>> thx
>> noodles
>
> --
> 您收到此邮件是因为您订阅了Google网上论坛中的"PerlChina Mongers 讨论组"论坛。
> 要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
> 要发帖到此论坛,请发送电子邮件至perl...@googlegroups.com
> 通过http://groups.google.com/group/perlchina访问此论坛。
> 要查看更多选项,请访问https://groups.google.com/d/optout



--
Fayland Lam // http://www.fayland.org/

--
您收到此邮件是因为您订阅了Google网上论坛中的"PerlChina Mongers 讨论组"论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到perlchina+unsubscribe@googlegroups.com
要发帖到此论坛,请发送电子邮件至perlchina@googlegroups.com
通过http://groups.google.com/group/perlchina访问此论坛。
要查看更多选项,请访问https://groups.google.com/d/optout

没有评论: