netcgi2-plex example broken

Felipe Gonzalez <[email protected]> Fri, 13 Dec 2013 13:19:20 +0100
Newsgroups gmane.comp.lang.ocaml.lib.net.devel
Message-ID <CA+zxp1-=J6xxqeuAAQ16=jOTwMhYKdz6HEg2bXFE4UYJvbk2vg@mail.gmail.com>
--===============5034146039493489404==
Content-Type: multipart/alternative; boundary=001a113396f8c1990604ed6978b5

--001a113396f8c1990604ed6978b5
Content-Type: text/plain; charset=ISO-8859-1

Hello,

I want to use ocamlnet for some web prog., a layer between postgres and
json.

I haven't really understood the advantages of using netcgi2-plex over
netcgi2, -plex can handle many request at a time, right?

Missing about netcgi2-plex is a working example, you can read in
netplex.mlin the examples/netcgi2-plex directory :

- The factory part is wrong, even missing semicolon.
what is the proper way about using a container ?

Regards.

let start() =

  let (opt_list, cmdline_cfg) = Netplex_main.args() in


  let use_mt = ref false in


  let opt_list' =

    [ "-mt", Arg.Set use_mt,

      "  Use multi-threading instead of multi-processing"

    ] @ opt_list in


  Arg.parse

    opt_list'

    (fun s -> raise (Arg.Bad ("Don't know what to do with: " ^ s)))

    "usage: netplex [options]";

  let parallelizer =

    if !use_mt then

      Netplex_mt.mt()     (* multi-threading *)

    else

      Netplex_mp.mp() in  (* multi-processing *)

  let buffered _ ch = new Netchannels.buffered_trans_channel ch in

  let output_type = `Transactional buffered in

  let factory =

    Netcgi_plex.factory

      ~output_type

      (fun container cgi -> Add.generate_page cgi) in

  Netplex_main.startup

    parallelizer

    Netplex_log.logger_factories   (* allow all built-in logging styles *)

    Netplex_workload.workload_manager_factories (* ... all ways of workload
management *)

    [ factory ]           (* make this service available *)

    cmdline_cfg

;;

--001a113396f8c1990604ed6978b5
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello,<div><br></div><div>I want to use ocamlnet for some =
web prog., a layer between postgres and json.</div><div><br></div><div>I ha=
ven&#39;t really understood the advantages of using netcgi2-plex over netcg=
i2, -plex can handle many request at a time, right?</div>
<div><br></div><div>Missing about netcgi2-plex is a working example, you ca=
n read in <a href=3D"http://netplex.ml">netplex.ml</a> in the examples/netc=
gi2-plex directory :</div><div><br></div><div>- The factory part is wrong, =
even missing semicolon.</div>
<div>what is the proper way about using a container ?</div><div><br></div><=
div>Regards.</div><div><br></div><div><p style=3D"margin:0px;font-size:13px=
;font-family:Monaco;color:rgb(245,245,245);background-color:rgb(0,0,0)">let=
 start() =3D</p>

<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 let (opt_list, cmdline_cfg) =3D Netpl=
ex_main.args() in</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0);min-height:17px"><br></p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 let use_mt =3D ref false in</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0);min-height:17px"><br></p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 let opt_list&#39; =3D</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 [ &quot;-mt&quot;, Arg.Set use_mt=
,</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 =A0 &quot;=A0 Use multi-threading=
 instead of multi-processing&quot;</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 ] @ opt_list in</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0);min-height:17px"><br></p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 Arg.parse=A0</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 opt_list&#39;</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 (fun s -&gt; raise (Arg.Bad (&quo=
t;Don&#39;t know what to do with: &quot; ^ s)))</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 &quot;usage: netplex [options]&qu=
ot;;</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 let parallelizer =3D=A0</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 if !use_mt then</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 =A0 Netplex_mt.mt() =A0 =A0 (* mu=
lti-threading *)</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 else</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 =A0 Netplex_mp.mp() in=A0 (* mult=
i-processing *)</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 let buffered _ ch =3D new Netchannels=
.buffered_trans_channel ch in</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 let output_type =3D `Transactional bu=
ffered in</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 let factory =3D=A0</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 Netcgi_plex.factory</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 =A0 ~output_type</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 =A0 (fun container cgi -&gt; Add.=
generate_page cgi) in</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 Netplex_main.startup</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 parallelizer</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 Netplex_log.logger_factories =A0 =
(* allow all built-in logging styles *)</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 Netplex_workload.workload_manager=
_factories (* ... all ways of workload management *)</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 [ factory ] =A0 =A0 =A0 =A0 =A0 (=
* make this service available *)</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">=A0 =A0 cmdline_cfg</p>
<p style=3D"margin:0px;font-size:13px;font-family:Monaco;color:rgb(245,245,=
245);background-color:rgb(0,0,0)">;;</p></div></div>

--001a113396f8c1990604ed6978b5--


--===============5034146039493489404==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
--===============5034146039493489404==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Ocamlnet-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel

--===============5034146039493489404==--