Resetting workflows before upload - Batch Process vs. JSON API

One thing that is causing my team some confusion is determining the correct scenarios for when we should reset a workflow before uploading to KNIME Server and when we shouldn’t.

It seems that if we want to do a batch process, we should reset the workflow before upload.

For JSON API’s, however, that might not be the case. Additionally, if we have a combination of an API and a query that needs refreshed “every once in a while” (e.g. a list of values to match against) it makes it even more questionable as to how we should upload and/or how to get that query to execute once a day or so.

Do any of you have insight into how you have handled these types of scenarios, and whether or not you always do one or the other?

Hi there,

Just to clarify some terminology. If you mention ‘batch process’ I assume that you mean executing a workflow on the KNIME Server by choosing the ‘Execute’ option for the workflow on the KNIME Server from the KNIME Analytics Platform, and either executing on demand, or on a schedule.


In that case there are two possibilities. The default is that the ‘Reset before execution’ button is checked in which case, all nodes are reset before execution. Regardless of which nodes have previously been executed and uploaded to the KNIME Server.

If the ‘Reset before execution’ button is unchecked, then all nodes that are not currently executed will be executed. That can be useful to debug long running workflows (just execute to the point where you want to debug), or in the case where results from a long running process should be cached and reused on each execution.

Using the KNIME Server REST API, workflows behave the same, the API also has the option to reset before execution or not, however the default is (false: do not reset before execution).



Using the SwaggerUI will show the setting that you need to enable, but in this case it is… :execution?reset=true

Note also that there is an option to ‘Reset workflow(s) before upload’ when using the 'Deploy to server option:

Best,

Jon

Hey Jon,

Thank you for the information. To clarify, if we uploaded a workflow in which some nodes were executed and some weren’t (and did not select “Reset before execution” or "Reset workflow(s) before upload depending on the execution method), then only the nodes that weren’t already executed would execute again?

@sjporter yes this is true if you do not chose the option “Reset before execution”

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.