baf1596418
Instead of using the long running and long blocking single polling HTTP attachment for our reporting, we should use the async API provided by kibana. The new workflow (all blocking and in a single watch) looks like this: 1. An initial request is sent to trigger the report generation, which returns a path 2. This path is used to continuously check if the report is done (then it is sent back) or kibana sends another HTTP error code, which will result in watcher to sleep for another interval until the report is finally returned. Features include configurable interval time and retry count, so that the total amount of waiting can be tweaked into two directions. This is what the reporting type looks like right now ``` { "my-attachment":{ "reporting":{ "url":"http://www.example.org/my-dashboard", "retries":6, // optional, default 40 "interval":"1s", // optional, default 15s "auth":{ "basic":{ "username":"foo", "password":"secret" } } } } } ``` The interval/retries can also be configured via settings. Note, that this is just a temporal workaround until the watcher execution can execute in an asynchronous fashion. Closes elastic/elasticsearch#3524 Original commit: elastic/x-pack-elasticsearch@d1eaa856b9 |
||
---|---|---|
buildSrc | ||
dev-tools | ||
elasticsearch | ||
elasticsearch-transport-client | ||
license-tools | ||
qa | ||
.dir-locals.el | ||
.projectile | ||
GRADLE.CHEATSHEET.asciidoc | ||
LICENSE.txt | ||
README.asciidoc | ||
build.gradle | ||
gradle.properties | ||
settings.gradle |
README.asciidoc
= Elasticsearch X Plugins A set of Elastic's commercial plugins: - License - Security - Watcher - Monitoring = Setup You must checkout x-plugins and elasticsearch in the same directory as siblings. This elasticsearch checkout will be used when building x-plugins. = Build - Run unit tests: + [source, txt] ----- gradle clean test ----- - Run all tests: + [source, txt] ----- gradle clean check ----- - Run integration tests: + [source, txt] ----- gradle clean integTest ----- - Package X-Pack (wihtout running tests) + [source, txt] ----- gradle clean assemble ----- - Install X-Pack (wihtout running tests) + [source, txt] ----- gradle clean install ----- - If you don't work on the UI side of x-plugins, you can force gradle to skip building kibana by adding `xpack.kibana.build=false` to your `~/.gradle/gradle.properties`. Alternatively you add `-Pxpack.kibana.build=false` on the command line if you only want to do this on individual builds (or `-Pxpack.kibana.build=true` if you need to override having added this to your `gradle.properties`).