當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript elasticsearch.CallCluster類代碼示例

本文整理匯總了TypeScript中src/legacy/core_plugins/elasticsearch.CallCluster的典型用法代碼示例。如果您正苦於以下問題:TypeScript CallCluster類的具體用法?TypeScript CallCluster怎麽用?TypeScript CallCluster使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了CallCluster類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: async

export const getAllNodeVersions = async (callCluster: CallCluster) => {
  // Get the version information for all nodes in the cluster.
  const { nodes } = (await callCluster('nodes.info', {
    filterPath: 'nodes.*.version',
  })) as { nodes: { [nodeId: string]: { version: string } } };

  const versionStrings = Object.values(nodes).map(({ version }) => version);

  return uniq(versionStrings)
    .sort()
    .map(version => new SemVer(version));
};
開發者ID:njd5475,項目名稱:kibana,代碼行數:12,代碼來源:es_version_precheck.ts

示例2: async

  const switchAlias = async (reindexOp: ReindexSavedObject) => {
    const { indexName, newIndexName } = reindexOp.attributes;

    const existingAliases = (await callCluster('indices.getAlias', {
      index: indexName,
    }))[indexName].aliases;

    const extraAlises = Object.keys(existingAliases).map(aliasName => ({
      add: { index: newIndexName, alias: aliasName, ...existingAliases[aliasName] },
    }));

    const aliasResponse = await callCluster('indices.updateAliases', {
      body: {
        actions: [
          { add: { index: newIndexName, alias: indexName } },
          { remove_index: { index: indexName } },
          ...extraAlises,
        ],
      },
    });

    if (!aliasResponse.acknowledged) {
      throw Boom.badImplementation(`Index aliases could not be created.`);
    }

    return actions.updateReindexOp(reindexOp, {
      lastCompletedStep: ReindexStep.aliasCreated,
    });
  };
開發者ID:,項目名稱:,代碼行數:29,代碼來源:

示例3: callCluster

  const cleanupChanges = async (reindexOp: ReindexSavedObject) => {
    // Cancel reindex task if it was started but not completed
    if (reindexOp.attributes.lastCompletedStep === ReindexStep.reindexStarted) {
      await callCluster('tasks.cancel', {
        taskId: reindexOp.attributes.reindexTaskId,
      }).catch(e => undefined); // Ignore any exceptions trying to cancel (it may have already completed).
    }

    // Set index back to writable if we ever got past this point.
    if (reindexOp.attributes.lastCompletedStep >= ReindexStep.readonly) {
      await callCluster('indices.putSettings', {
        index: reindexOp.attributes.indexName,
        body: { 'index.blocks.write': false },
      });
    }

    if (
      reindexOp.attributes.lastCompletedStep >= ReindexStep.newIndexCreated &&
      reindexOp.attributes.lastCompletedStep < ReindexStep.aliasCreated
    ) {
      await callCluster('indices.delete', { index: reindexOp.attributes.newIndexName });
    }

    // Resume consumers if we ever got past this point.
    if (reindexOp.attributes.lastCompletedStep >= ReindexStep.indexGroupServicesStopped) {
      await resumeIndexGroupServices(reindexOp);
    }

    return reindexOp;
  };
開發者ID:,項目名稱:,代碼行數:30,代碼來源:

示例4: Error

    await actions.runWhileIndexGroupLocked(IndexGroup.watcher, async watcherDoc => {
      const { acknowledged } = await callCluster('transport.request', {
        path: '/_watcher/_stop',
        method: 'POST',
      });

      if (!acknowledged) {
        throw new Error('Could not stop Watcher');
      }

      return watcherDoc;
    });
開發者ID:,項目名稱:,代碼行數:12,代碼來源:

示例5: validateNodesMinimumVersion

    await actions.runWhileIndexGroupLocked(IndexGroup.ml, async mlDoc => {
      await validateNodesMinimumVersion(6, 7);

      const res = await callCluster('transport.request', {
        path: '/_ml/set_upgrade_mode?enabled=true',
        method: 'POST',
      });

      if (!res.acknowledged) {
        throw new Error(`Could not stop ML jobs`);
      }

      return mlDoc;
    });
開發者ID:,項目名稱:,代碼行數:14,代碼來源:


注:本文中的src/legacy/core_plugins/elasticsearch.CallCluster類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。