From fd203c67c377bfa0d5f22e3b0b81114b1a052446 Mon Sep 17 00:00:00 2001
From: xinwen <coderWen@126.com>
Date: Thu, 22 Apr 2021 17:25:06 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E6=97=A0=E6=95=88?=
 =?UTF-8?q?=E7=9A=84=20es=20=E5=91=BD=E4=BB=A4=E8=AE=B0=E5=BD=95=E5=AD=98?=
 =?UTF-8?q?=E5=82=A8=E6=97=B6=EF=BC=8C=E6=8A=9B=E5=87=BA=E9=94=99=E8=AF=AF?=
 =?UTF-8?q?=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 apps/terminal/backends/command/es.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/apps/terminal/backends/command/es.py b/apps/terminal/backends/command/es.py
index d8197391d..e03847e0a 100644
--- a/apps/terminal/backends/command/es.py
+++ b/apps/terminal/backends/command/es.py
@@ -7,6 +7,7 @@ import pytz
 from uuid import UUID
 import inspect
 
+from django.utils.translation import gettext_lazy as _
 from django.db.models import QuerySet as DJQuerySet
 from elasticsearch import Elasticsearch
 from elasticsearch.helpers import bulk
@@ -14,12 +15,18 @@ from elasticsearch.exceptions import RequestError
 
 from common.utils.common import lazyproperty
 from common.utils import get_logger
+from common.exceptions import JMSException
 from .models import AbstractSessionCommand
 
 
 logger = get_logger(__file__)
 
 
+class InvalidElasticsearch(JMSException):
+    default_code = 'invalid_elasticsearch'
+    default_detail = _('Invalid elasticsearch config')
+
+
 class CommandStore():
     def __init__(self, config):
         hosts = config.get("HOSTS")
@@ -33,6 +40,8 @@ class CommandStore():
         self.es = Elasticsearch(hosts=hosts, max_retries=0, **kwargs)
 
     def pre_use_check(self):
+        if not self.ping(timeout=3):
+            raise InvalidElasticsearch
         self._ensure_index_exists()
 
     def _ensure_index_exists(self):