Hi all, I submitted a PR with a number of changes to ActionLoop proxy.
I ensured it is backward compatible, so all the new features are enabled
explicty with environment variables.
There is a document now that lists all the features.
The most important feature is now that the proxy can require an acknowledgement
of the initializations.
So when an action subprocess is ready it will return '{"ok": true}'. This
feature is embedded in the "launcher" code that is part of the runtime itself
so the change is not user visible. The proxy however now can properly detect
early terminations of the actions at initialisation, instead of seeing the
error at the first run.
Another change is in the way initialisation errors and messages are reported.
Previously they were returned in the init answer. Now they are logged, and they
are logged also when the initialisation fails. Those were misunderstanding of
how the init should work, errors I fixed thanks to Rodric.
Also, since in the process since we introduced an incompatibility with
precompiled images, it emerged the need to avoid to deploy precompiled images
built with the wrong version of the runtime. So I introduced an "environment
check" that will prevent an action compiled with the wrong runtime to be
executed.
Those changes are all opt-in so I expect there are no user visible change...
well there is ONE: previously the init returned the error code 400 for failed
actions, now it returns error code 502. I hope I do not need also to add an
environment variable to control also this!
--
Michele Sciabarra
[email protected]