Calling a livecode executable -ui from LC server and get back a result.

Richard Gaskin ambassador at
Fri May 5 19:23:32 CEST 2017

Roger Eller wrote:

 > Have you considered running a faceless Desktop app as a service,
 > having it watch for a socket message...

Pierre Sahores and I have experimented with a wide range of socket 
servers*, with some very promising results.

That said, our independent tests seem to arrive at the same conclusion:

The execution speed of LC does compare favorably with other scripting 
languages, but best when used behind a load balancer.

Even though HTTP can be a fairly sparse protocol, without much more 
required overhead than you'd need for just about any general-purpose 
socket comms, coupling that directly with the processing of each request 
within a single engine instance creates bottlenecks.

So I like to think of socket servers in LC as very capable solutions for 
"Nanoservices": similar to microservices in scope, but suitable for 
workgroups and other relatively low-traffic environments.

Having multiple instances as workers behind a server front-end like 
NginX can be quite good, but doing both roles - socket I/O and 
processing - is a bit much to put on a single-threaded scripting engine 
like LC, at least in production environments set up for (hopefully) 
scaling public access.

That said, for workgroups there's much that can be done quite 
wonderfully with LC taking on the role of an HTTP daemon.

And as a pool of workers behind something like NginX it can stand up 
well against many alternatives scripting options, even in production 

* Sampling of related links from the archives:

  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  Ambassador at      

More information about the use-livecode mailing list