[SoC] Week 9 Report: Integrating Node.js with ZOO-services
Momtchil Momtchev
momtchil at momtchev.com
Sun Aug 14 12:27:35 PDT 2022
Report for Week 9:
Week 9 was spent mostly debugging and improving usability:
* The bug in libnode which resulted in early exits of the event loop
when resolving Promises from C++ was found and fixed (async functions
are to be called with MakeCallback)
* The new demo service, linestringDem was transformed to be compatible
with the existing GdalExtractProfile
* linestringDem was added to the demos with its own web interface and
debugged
* An additional bug was found and investigated - string outputs from
Node.js services sometimes get truncated when they are over 64Kb because
libnode/Node.js switch the stdin/stdout file descriptors to non-blocking
mode which is not supported by the fcgi library:
https://github.com/nodejs/node/issues/44237
I am currently not blocked on anything and I plan to continue debugging
and start implementing the last sizeable feature - allowing libnode to
load all of its internal modules (fs, http, ...) from a precompiled V8
heap snapshot, instead of recompiling them at each startup. This feature
has been present in stock Node.js since version 12.5 and can
dramatically improve startup times:
https://github.com/nodejs/node/issues/17058
--
Cordialement,
Momtchil Momtchev <momtchil at momtchev.com>
More information about the SoC
mailing list