[Ur] ANNOUNCE urweb-callback version 3.0

Sergey Mironov grrwlf at gmail.com
Sun Aug 24 14:33:19 EDT 2014


Hello, I am glad to announce the release of urweb-callback library version 3.0.

Urweb-callback offers the API for launching asynchronous server-side
processes which calls the callback procedures upon completion. During the
execution, user may inspect job`s exit code, standard output, process id
and other parameters.

Some features:

  * Added support for the Stderr stream.
  * Stdin, Stdout and Stderr are now blobs. This allows passing binary
data to the input of a job.
  * String helper functions are moved to the Callback module.
  * Improved CallbackNotify API.
  * New automatic tests.

See the README (https://github.com/grwlf/urweb-callback) for more details.  The
example code is listed below:

    structure CB = Callback
    structure C = CallbackNotify.Default

    fun search (p:string) : transaction xbody =
      x <- C.abortMore 20;
      jr <- C.create (C.shellCommand ("sleep 2 ; find " ^ p ^ " -maxdepth 2"));
      C.monitorX jr (fn j =>
        case j.ExitCode of
          |Some _ => <xml><pre>{[j.Stdout]}</pre></xml>
          |None => <xml>Searching...</xml>)

    fun main {} : transaction page =
      s <- source <xml/>;
      return <xml>
        <head/>
        <body>
          <button value="Search files" onclick={fn _ =>
            x <- rpc(search ".");
            set s x
          }/>
          <hr/>
          <dyn signal={signal s}/>
        </body>
      </xml>


To get the sources, type:

    $ git clone https://github.com/grwlf/urweb-callback
    $ cd urweb-callback
    $ make demo

The demo application is running here

    http://46.38.250.132:8080/Demo2/main

Please, notify me about problems by creating Github issues or by e-mail.

Regards,
Sergey



More information about the Ur mailing list