-
Notifications
You must be signed in to change notification settings - Fork 928
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/log storage - adds plugin system for streaming logs and storing log files #414
Feature/log storage - adds plugin system for streaming logs and storing log files #414
Conversation
When I archive a project, do the log files get downloaded into the archive from their log storage facility (via the plugin)? Log files could be treated more separately from the execution history. An admin might like to store the log output in the project archives or they might choose to rely on them being available later in the external log store. |
Execution data given to plugins should include the execution's URL |
Having the Java method names be the same as the groovy closure names would make both implementations more similar (and less confusing). |
The store interface for log file storage, should also pass the content length, and last modification time of the file. This will facilitate direct use of the input stream (content length), and maintenance of the file modification time. |
@ahonor project archive/import is a good question, I'm not sure of the correct behavior. E.g. when you import a project should it also do the log file upload? |
needs improvement: if a log retrieve fails, it should show an error message to a user (gui/api) who is attempting to retrieve the log file |
Test legacy fallback dateformat
add openStream interface
streaming log reader plugin implementation allowing multiple writer plugins Fix some type checks, update event map structure from plugins
* wrap plugins in more durable mechanism to catch errors
* change to retrieve/store, instead of retrieveLogFile/storeLogFile * pass file length, modification time to store method * update example code * update documentation
* job.url = execution follow url * job.serverUrl = base server url * job.serverUUID = cluster server uuid or null
* remove stdout println
* render api/gui errors if isAvailable has error
* retrieval/available states are cached for a period * updated configuration keys for storage/retrieval retry and delay * pending_remote state is reported if remote log is not found within a grace period after the execution completes * clean up display in gui for error messages slightly * handle exceptions via groovy log file storage plugins
Feature/log storage - adds plugin system for streaming logs and storing log files
Adds a plugin system for streaming log reader/writers, as well as a way to upload/download log files from another system if they are not available locally.