I’m always up for a fun challenge
So I started wondering about how “wireless” or “ghost” connectors might be implemented in some way using nothing but the existing Knime nodes, and components built from them.
After pondering on how something usable might be achieved here is what I came up with (albeit with a few warnings about probably not using it with very large datasets, or where you have columns or flow variables that are anything other than Strings, Numbers or Dates - this is just a bit of fun / proof of concept after all!)
And I present to a fanfare of excitement… my never-before-seen poor person’s wireless node demo workflow:
Provided the workflow is run from an All-reset state, and is run using Ctrl-A - F7 (select all - execute)… the workflow will run, with wireless jumps from the right hand side to the left, and the nodes will run in the correct order, with the expected results and flow variables arriving at the two sorter nodes at the bottom!
(fingers crossed)
There… I bet you’re as excited as I was… enjoy!
Demo Continue Tunnels.knwf (478.4 KB)
My “Continue At”… “Continue From” components sit somewhere between the concepts of a wireless connection and the “ghost nodes” mentioned above.
For those that want to know… passing of data and flow variables is achieved by parking them into the available H2 database using tables based on the name specified in the config for each node. This is stored in memory (hence possible limitations on dataset size and variable types)
Orchestration is performed by use of WAIT nodes, that wait for a local file modification using a file of the name specified in the config for each node. The file change is made by the “Continue At” node and this signals that it is “clear to proceed” to the “Continue From” node assigned to that same name.
The “Reset Continue Tunnels” node simply clears all flag files in a subfolder beneath the workflow’s local data area.
A bit of fun, and definitely a “proof of concept” toy with some limitations, but I might even use them on some of my own workflows.
(and still a +1 from me for real implementation of wireless connections)