3 ms·
Not right now, but will be added soon. Generally, there are three components (1) a runner This serves the function and waits for incoming jobs. There can be
by ogarten 4y ago
Not right now, but will be added soon.
Generally, there are three components
(1) a runner
This serves the function and waits for incoming jobs. There can be multiple runners serving the same function and they will get "load-balanced" in a round-robin way right now. Incoming jobs are received via a message queue the runner connects to. The load on the system is very small unless a job is processed.
(2) our server
This acts as a catalog for all functions that have been served. It also does the user and job management. When someone submits a job, the server also checks if the inputs and outputs work with the underlying function, e.g. same units, boundaries are checked if necessary, ...
(3) calling a function
Calling a function is really easy right now, if you use Python. You just import the catalog that is loaded from our server (2) and then you can call remote functions just like any regular functions. You can also share functions with others by providing an email that the invite is sent to.
(4) a web app
We also have a web app right now (https://app.lmrt.fyi https://app.lmrt.fyi) which lets you control the status of your jobs, your runners, ... The app needs a lot more polish to be really useful.
I hope this gives an overview of the architecture. If anything's unclear, please ask.