Spec-Zone.ru › RethinkDB javascript

Таблица задач системы

Таблица задач является одной из системных таблиц, добавленных в версии 1.16 RethinkDB. Она предоставляет информацию о задачах, выполняемых в кластере RethinkDB, включая запросы, сжатие диска и построение индексов, и позволяет убивать задачи запросов, удаляя их из таблицы.

Запрос к таблице задач

Примечание: как и другие системные таблицы, к таблице задач можно получить доступ только с помощью учетной записи пользователя admin.

Первичный ключ таблицы — поле id, а ключи всегда являются массивами. Первый элемент массива всегда является строкой, указывающей тип задачи (например, "query", "disk_compaction", и т.д.); второй элемент — UUID задачи. Тип задачи также указан в поле type.

// get a list all currently running jobs
r.db("rethinkdb").table("jobs").run(conn, callback);

// get a list of currently running queries
r.db("rethinkdb").table("jobs").filter({type: 'query'}).run(conn, callback);

// delete a specific query
r.db("rethinkdb").table("jobs").get(
    ["query", "72789a11-b2e1-4b45-a3ab-af996dcaf484"]
).delete().run(conn, callback);

Схема документа

Существует четыре типа задач. Схема документа согласована между ними, при этом данные, специфичные для задачи, отображаются в поле info.

{
    "duration_sec": <number> or null,
    "id": [ <type string>, <uuid> ],
    "info": { <metadata },
    "servers": [ "server1", "server2", ... ],
    "type": <type string>
}

запрос

Эти записи представляют запросы, выпущенные конкретным клиентом.

info: {
    "client_address": <IP address string>,
    "client_port": <number>,
    "query": <query string>,
    "user": <string>
}

сжатие диска

Это непрерывная задача на каждом сервере, сжимающая хранилище RethinkDB в фоновом режиме. Поле duration_sec всегда будет null, и дополнительных метаданных нет.

info: { }

создание индекса

Эти задачи создают вторичные индексы в фоновом режиме. Поле progress — число от 0 до 1, указывающее, насколько продвинута задача создания индекса.

info: {
    "db": <database name>,
    "index": <index name>,
    "progress": <number>,
    "table": <table name>
}

дополнение

Задачи дополнения обновляют фрагменты, которые устарели, перенос данных между серверами. Как и выше, поле progress является числом от 0 до 1, указывающим, насколько продвинута задача дополнения.

info: {
    "db": <database name>,
    "destination server": <server being copied to>,
    "source_server": <server being copied from>,
    "table": <table name>,
    "progress": <number>
}

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/docs/system-jobs/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API