Comments (2)
Thanks for writing this up! Good summary of discussion topics.
Just a small correction: The function workers are actually written in one language (python), which listen to the local message bus, deserialize the messages, initialize the necessary data structure(s) and invoke the user code. Afterwards, it is again the python code that does the serialization of the output, do other chores (e.g., backups) and publish it to the message bus. The Java functions are handled by having a dedicated worker, but that dedicated worker only accepts the input to the function (i.e., no metadata) and sets up the corresponding API object (that would communicate with its corresponding part in python for API calls).
Of course, the above can be changed if we plan to undertake having different workers with different languages, but that comes with its own problems of maintaining the workers and keeping them functionality-wise equal. Having a single worker that handles the main logic (and language-specific helpers) makes that maintenance easier.
In that sense, at this point, the python SDK for CloudEvents and its performance would be more critical than the other languages.
from knix.
IMHO it's much better this way (messaging, state logic, progress log, backups handled by one implementation in a single language only).
from knix.
Related Issues (20)
- CentOS support for ansible deployments HOT 2
- Caching of downloaded function dependencies
- Shutting down sandboxes may hang HOT 5
- Upgrading KNIX breaks the datalayer HOT 1
- workflow logs not available due to elasticsearch sharding problem HOT 1
- test asl_Map hangs with maxconcurrency values != 0 HOT 3
- allow user-supplied data be included in the trigger from TriggersFrontend
- bare metal installation fails due to missing dependencies HOT 22
- error when deploy the knix on a host machine HOT 5
- Does it mean I deploy successful? HOT 1
- error when workflow.excute. requests.exceptions.HTTPError: 405 Client Error: Not Allowed for url: http://XXXX:32777 HOT 10
- knix can not support parallel states. HOT 6
- Error when executing java function with maven dependency of Gson HOT 1
- error[E0658]: use of unstable library feature 'renamed_spin_loop' HOT 9
- 'ansible.vars.hostvars.HostVarsVars object' has no attribute 'ansible_ssh_host' HOT 7
- update riak build scripts to use a newer Ubuntu image HOT 3
- Triggers API object update for Java (storage, message queues, timers) HOT 5
- Recovery manager
- KNIX GPU monitoring/accounting capabilities
- Execution log entries get disordered HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from knix.