Task Management API

The Task Management API is new and should still be considered a beta feature. The API may change in ways that are not backwards compatible

Current Tasks Information

The task management API allows to retrieve information about the tasks currently executing on one or more nodes in the cluster.

GET _tasks 

GET _tasks?nodes=nodeId1,nodeId2 

GET _tasks?nodes=nodeId1,nodeId2&actions=cluster:* 

Retrieves all tasks currently running on all nodes in the cluster.

Retrieves all tasks running on nodes nodeId1 and nodeId2. See Node specification for more info about how to select individual nodes.

Retrieves all cluster-related tasks running on nodes nodeId1 and nodeId2.

The result will look similar to the following:

{
"nodes" : {
"oTUltX4IQMOUUVeiohTt8A" : {
"name" : "H5dfFeA",
"transport_address" : "127.0.0.1:9300",
"host" : "127.0.0.1",
"ip" : "127.0.0.1:9300",
"tasks" : {
"oTUltX4IQMOUUVeiohTt8A:124" : {
"node" : "oTUltX4IQMOUUVeiohTt8A",
"id" : 124,
"type" : "direct",
"action" : "cluster:monitor/tasks/lists[n]",
"start_time_in_millis" : 1458585884904,
"running_time_in_nanos" : 47402,
"cancellable" : false,
"parent_task_id" : "oTUltX4IQMOUUVeiohTt8A:123"
},
"oTUltX4IQMOUUVeiohTt8A:123" : {
"node" : "oTUltX4IQMOUUVeiohTt8A",
"id" : 123,
"type" : "transport",
"action" : "cluster:monitor/tasks/lists",
"start_time_in_millis" : 1458585884904,
"running_time_in_nanos" : 236042,
"cancellable" : false
}
}
}
}
}

It is also possible to retrieve information for a particular task:

GET _tasks/task_id:1 

This will return a 404 if the task isn’t found.

Or to retrieve all children of a particular task:

GET _tasks?parent_task_id=parentTaskId:1 

This won’t return a 404 if the parent isn’t found.

You can also use the detailed request parameter to get more information about the running tasks. This is useful for telling one task from another but is more costly to execute. For example, fetching all searches using the detailed request parameter:

GET _tasks?actions=*search&detailed

might look like:

{
"nodes" : {
"oTUltX4IQMOUUVeiohTt8A" : {
"name" : "H5dfFeA",
"transport_address" : "127.0.0.1:9300",
"host" : "127.0.0.1",
"ip" : "127.0.0.1:9300",
"tasks" : {
"oTUltX4IQMOUUVeiohTt8A:464" : {
"node" : "oTUltX4IQMOUUVeiohTt8A",
"id" : 464,
"type" : "transport",
"action" : "indices:data/read/search",
"description" : "indices[test], types[test], search_type[QUERY_THEN_FETCH], source[{\"query\":...}]",
"start_time_in_millis" : 1483478610008,
"running_time_in_nanos" : 13991383,
"cancellable" : true
}
}
}
}
}

The new description field contains human readable text that identifies the particular request that the task is performing such as identifying the search request being performed by a search task like the example above. Other kinds of task have have different descriptions, like _reindex which has the search and the destination, or _bulk which just has the number of requests and the destination indices. Many requests will only have an empty description because more detailed information about the request is not easily available or particularly helpful in identifying the request.

The task API can also be used to wait for completion of a particular task. The following call will block for 10 seconds or until the task with id oTUltX4IQMOUUVeiohTt8A:12345 is completed.

GET _tasks/oTUltX4IQMOUUVeiohTt8A:12345?wait_for_completion=true&timeout=10s

You can also wait for all tasks for certain action types to finish. This command will wait for all reindex tasks to finish:

GET _tasks?actions=*reindex&wait_for_completion=true&timeout=10s

Tasks can be also listed using _cat version of the list tasks command, which accepts the same arguments as the standard list tasks command.

GET _cat/tasks
GET _cat/tasks?detailed

Task Cancellation

If a long-running task supports cancellation, it can be cancelled by the following command:

POST _tasks/node_id:task_id/_cancel

The task cancellation command supports the same task selection parameters as the list tasks command, so multiple tasks can be cancelled at the same time. For example, the following command will cancel all reindex tasks running on the nodes nodeId1 and nodeId2.

POST _tasks/_cancel?nodes=nodeId1,nodeId2&actions=*reindex

Task Grouping

The task lists returned by task API commands can be grouped either by nodes (default) or by parent tasks using the group_by parameter. The following command will change the grouping to parent tasks:

GET _tasks?group_by=parents

ES task管理的更多相关文章

  1. es索引管理工具-curator

    elasticsearch-curator  是官方收购的开源社区周边产品,用来管理es的索引和快照. 官方文档:https://www.elastic.co/guide/en/elasticsear ...

  2. Asyncio中的Task管理

    #!/usr/bin/env python # -*- coding: utf-8 -*- import asyncio import datetime import time from random ...

  3. Android开发_后台任务task管理_allowTaskReparenting alwaysRetainTaskState clearTaskOn

    1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“tru ...

  4. Activity、Task、应用和进程

    http://www.cnblogs.com/franksunny/archive/2012/04/17/2453403.html Activity.Task.应用和进程 为了阅读方便,将文档转成pd ...

  5. Android的Task和Activity相关

    android:allowTaskReparenting    用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)——“true”,表示能移 ...

  6. Android中关于Task的一些认识

    Android中Task是一个逻辑上的概念,简单地说,就是一个栈里面顺序存储着的多个Activity.这些Activity能够是来自同一个App,也能够是来自不同的Apps. Task的创建 比方之前 ...

  7. ES学习笔记

    ES学习 1. 安装 1.1 ES 安装配置 curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5. ...

  8. ABP官方文档翻译 4.5 特征管理

    特征管理 介绍 关于IFeatureValueStore 特征类型 Boolean特征 Value特征 定义特征 基本特征属性 其他特征属性 特征层级 检查特征 使用RequiresFeature特性 ...

  9. .Net4.0 任务(Task)

    任务(Task)是一个管理并行工作单元的轻量级对象.它通过使用CLR的线程池来避免启动专用线程,可以更有效率的利用线程池.System.Threading.Tasks 命名空间下任务相关类一览: 类 ...

随机推荐

  1. C# WebQQ协议群发机器人(二)

    本文出处http://blog.csdn.net/zhujunxxxxx/ 如需转载请注明出处! 接着上一篇http://blog.csdn.net/zhujunxxxxx/article/detai ...

  2. mysql如何查找表里的字段

    在开发项目的时候有个功能需要查看数据库中有哪些表,以及每个表有哪些字段,在网上查看了一下,现在分享给大家. Oracle: 查询数据表(Tables)名称:select Table_Name, Tab ...

  3. element-ui 实现table整列的拖动

    演示地址 1. 先动态渲染表头,给每一个表头添加一个class=virtual 的画虚线的类名,同时给每个表头加上鼠标点击.拖动.抬起事件:mousedown->mousemove->mo ...

  4. MyBatis数据持久化(十一)Mybatis3、Spring4、Struts2整合开发

    上一节我们將Mybatis和Spring4进行整合,本节向大家介绍Mybatis在Web开发中的应用,并与主流的MVC框架Struts2进行整合. 我们首先需要获取Struts2框架,Struts2官 ...

  5. Java实现18位身份证校验代码

    import java.util.Scanner; /** * 18位身份证校验 * @author [J.H] * */ public class Test { // 身份证校验 public st ...

  6. BZOJ2440: [中山市选2011]完全平方数 容斥原理_莫比乌斯函数

    emmm....... 数学题都不友好QAQ...... Code: #include <cstdio> #include <algorithm> #include <c ...

  7. Java之秒杀活动解决方案

    0 引言 本文主要描述,服务端做相关秒杀活动的时候,对应的解决方案,即高并发下的数据安全. 1 优化方案 1.1 乐观锁思路 Redis中的watch,请求时,通过Redis查询当前抢购数据,如果当前 ...

  8. FreeCodeCamp初级算法部分学习

    Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 当你完成不了挑战的时候,记得开大招 ...

  9. fflush()函数总结

    1. 概述 函数名: fflush() 功 能: 清除读写缓冲区,需要立即把输出缓冲区的数据进行物理写入时 头文件: stdio.h 原型: int fflush(FILE *stream),其中st ...

  10. [luogu4133 BJOI2012] 最多的方案 (计数dp)

    题目描述 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的 ...