Hello,
I started experimenting with Onyx this week to see if it would fit a use case we have for workflow processing. The unique requirement we have is that non-developers should be able to configure and execute workflows. What drew me to Onyx is the fact that since all of the configuration details are just data structures it should, in theory, be possible to simply submit these as configurations and execute a job dynamically (ie: without statically defined workflows, catalogs, lifecycles, etc in the deployed jar).
For example, let's say I have a pre-built set of tasks available to a user (functions I've already written and deployed) as well as standard and custom plugins for ingest/egress. I then build a service that initializes a pool of peers on startup. It then waits for inbound requests via some API or scheduled trigger that contain details about a job to run. At that point, it simply parses the configuration into a job map (eg: places runtime configs into the catalog map, etc) and runs the job on the previously initialized peers.
Is this doable or am I misunderstanding something that would prevent this/make it less than ideal? If I had multiple nodes of my service running could they share a peer group or would they have to have their own group?
Any feedback is most welcome and appreciated!
Thanks,
Matt