How can you get the userid of the person running a workflow on the knime server? The “….jobs.WorkflowJobManagerImpl.execute” keyword can be used to select workflows executed on the server (from the localhost.xxxx.log files) but there is no indication of the users who launched them. Is it possible to get this information from the log file? If yes, how?
Thanks in advance for your help on this,
Unfortunately, the user is not logged by jobs.WorkflowJobManagerImpl.execute. There are two workarounds to get that information:
- Query a job via the REST API. This will also return the owner of the job as well as the job ID, which you can then match to the log entry. This is the most reliable solution, with the limitation that you can only do this for jobs still on the server (whereas the logs give you the full history)
- Every job execution is preceded by the event com.knime.enterprise.server.jobs.WorkflowJobManagerImpl.loadWorkflow Loading workflow, which is logged and includes the user name. You can try matching workflow loading to workflow execution; there usually is less than a second between them. This will work in most cases, but there are some exceptions. For example, if the same workflow is started by two different users almost simultaneously, it can be hard to tell which loading corresponds to which execution.
Please let me know if that helps!