panwang 3 năm trước cách đây
mục cha
commit
911eced19a

+ 166 - 0
all/ess/ess-instance-clipapi.py

@@ -0,0 +1,166 @@
+# #!/usr/bin/env python
+# #coding=utf-8
+#
+import  json
+import logging
+import time
+import requests
+import  sys
+from aliyunsdkcore import client
+from aliyunsdkcore.client import AcsClient
+from aliyunsdkcore.acs_exception.exceptions import ClientException
+from aliyunsdkcore.acs_exception.exceptions import ServerException
+from aliyunsdkecs.request.v20140526.CreateInstanceRequest import CreateInstanceRequest
+from aliyunsdkecs.request.v20140526.StartInstanceRequest import StartInstanceRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest
+from aliyunsdkecs.request.v20140526.DescribeNetworkInterfacesRequest import DescribeNetworkInterfacesRequest
+from aliyunsdkslb.request.v20140515.AddBackendServersRequest import AddBackendServersRequest
+from aliyunsdkecs.request.v20140526.RunCommandRequest import RunCommandRequest
+
+
+logging.basicConfig(level=logging.INFO,
+                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
+                    datefmt='%a, %d %b %Y %H:%M:%S')
+ak_id = "LTAI4GBWbFvvXoXsSVBe1o9f"
+ak_secret = "kRAikWitb4kDxaAyBqNrmLmllMEDO3"
+region_id = "cn-hangzhou"
+clt = client.AcsClient(ak_id, ak_secret, region_id)
+instance_type = "ecs.c6.2xlarge"
+vswitch_id = "vsw-bp19lpjwtc6j0p0m9mdc2"
+image_id = "m-bp15xqcuacm4zw2h2gi6"
+security_group_id = "sg-bp1irhrkr4vfj272hk4y"
+amount = int(sys.argv[1])
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+disk_size = "200"
+instance_name = "ESS-clipapi-[1,2]"
+zone_id = "cn-hangzhou-h"
+disk_category = "cloud_efficiency"
+key_pair_name = "stuuudy"
+#slb_id = "lb-bp1r9duz4k7z0riz9zs3n"
+#vlogapi
+slb_id = "lb-bp1ouhx77itpk5xozmeu5"
+
+client = AcsClient (AccessKey, AccessSecret, RegionId)
+
+
+def addBackendServers(slb_id,instance_id):
+    request = AddBackendServersRequest()
+    request.set_accept_format('json')
+    ipaddr = getIpaddr(instance_id)
+    request.set_LoadBalancerId(slb_id)
+
+    request.set_BackendServers([{"ServerId": instance_id, "Weight": "100", "Type": "ecs", "ServerIp": ipaddr}])
+    response = client.do_action_with_exception(request)
+    logging.info(response)
+
+def getIpaddr(instance_id):
+  request = DescribeNetworkInterfacesRequest()
+  request.set_accept_format('json')
+  request.set_InstanceId(instance_id)
+  response = clt.do_action_with_exception(request)
+  request_content = json.loads(response)
+  ipaddr = request_content['NetworkInterfaceSets']['NetworkInterfaceSet'][0]['PrivateIpAddress']
+  return  ipaddr
+
+def healthCheck(instance_id):
+  ipaddr = getIpaddr(instance_id)
+  while True:
+      health_url = 'http://%s:8182/longvideoapi/test' %(ipaddr)
+      http_code = requests.get(health_url).status_code
+      if  http_code == 200:
+          break
+      else:
+          time.sleep(10)
+  addBackendServers(slb_id,instance_id)
+
+
+
+
+# 创建ECS实例并启动。
+def create_multiple_instances():
+    request = build_request()
+    request.set_Amount(amount)
+    _execute_request(request)
+
+
+def _execute_request(request):
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')
+        running_amount = 0
+        while running_amount < amount:
+            time.sleep(10)
+            running_amount = check_instance_running(instance_ids)
+
+
+    print(" %s is running" %(instance_ids))
+    time.sleep(60)
+    runCommand(instance_ids)
+    for  instance_id  in  instance_ids:
+      healthCheck(instance_id)
+
+
+def check_instance_running(instance_ids):
+    request = DescribeInstancesRequest()
+    request.set_InstanceIds(json.dumps(instance_ids))
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instances_list = response.get('Instances').get('Instance')
+        running_count = 0
+        for instance_detail in instances_list:
+            if instance_detail.get('Status') == "Running":
+                running_count += 1
+        return running_count
+#购买服务器参数配置
+def build_request():
+    request = RunInstancesRequest()
+    request.set_ImageId(image_id)
+    request.set_VSwitchId(vswitch_id)
+    request.set_SecurityGroupId(security_group_id)
+    request.set_ZoneId(zone_id)
+    request.set_InstanceType(instance_type)
+    # request.set_UserData(init_data)
+    request.set_InstanceName(instance_name)
+    request.set_SystemDiskSize(disk_size)
+    request.set_SystemDiskCategory(disk_category)
+    request.set_KeyPairName(key_pair_name)
+    request.set_Tags([
+      {
+        "Key": "ecs",
+        "Value": "clipapi.prod"
+      } 
+    ])
+    return request
+
+#批量执行shell脚本
+def  runCommand(instance_ids):
+  request = RunCommandRequest()
+  request.set_accept_format('json')
+
+  request.set_Type("RunShellScript")
+  request.set_CommandContent("curl  https://rescdn.yishihui.com/crontab/start-clipapi.sh|sh")
+  request.set_InstanceIds(instance_ids)
+
+  response = clt.do_action_with_exception(request)
+  logging.info(response)
+# 发送API请求
+def _send_request(request):
+    request.set_accept_format('json')
+    try:
+        response_str = clt.do_action(request)
+        logging.info(response_str)
+        response_detail = json.loads(response_str)
+        return response_detail
+    except Exception as e:
+        logging.error(e)
+
+if __name__ == '__main__':
+    print ("Start Create Instances")
+    # 创建ECS实例并启动。
+    create_multiple_instances()
+
+
+

+ 166 - 0
all/ess/ess-instance-commonapi.py

@@ -0,0 +1,166 @@
+# #!/usr/bin/env python
+# #coding=utf-8
+#
+import  json
+import logging
+import time
+import requests
+import  sys
+from aliyunsdkcore import client
+from aliyunsdkcore.client import AcsClient
+from aliyunsdkcore.acs_exception.exceptions import ClientException
+from aliyunsdkcore.acs_exception.exceptions import ServerException
+from aliyunsdkecs.request.v20140526.CreateInstanceRequest import CreateInstanceRequest
+from aliyunsdkecs.request.v20140526.StartInstanceRequest import StartInstanceRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest
+from aliyunsdkecs.request.v20140526.DescribeNetworkInterfacesRequest import DescribeNetworkInterfacesRequest
+from aliyunsdkslb.request.v20140515.AddBackendServersRequest import AddBackendServersRequest
+from aliyunsdkecs.request.v20140526.RunCommandRequest import RunCommandRequest
+
+
+logging.basicConfig(level=logging.INFO,
+                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
+                    datefmt='%a, %d %b %Y %H:%M:%S')
+app = "commonapi"
+ak_id = "LTAI4GBWbFvvXoXsSVBe1o9f"
+ak_secret = "kRAikWitb4kDxaAyBqNrmLmllMEDO3"
+region_id = "cn-hangzhou"
+clt = client.AcsClient(ak_id, ak_secret, region_id)
+instance_type = "ecs.c6.xlarge"
+vswitch_id = "vsw-bp19lpjwtc6j0p0m9mdc2"
+image_id = "m-bp15xqcuacm4zw2h2gi6"
+security_group_id = "sg-bp1irhrkr4vfj272hk4y"
+amount = int(sys.argv[1])
+tag_value = "%s.prod" %(app)
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+disk_size = "200"
+instance_name = "ESS-commonapi-[1,2]"
+zone_id = "cn-hangzhou-h"
+disk_category = "cloud_efficiency"
+key_pair_name = "stuuudy"
+slb_id = "lb-bp1xmaogphakz0l1o13mu"
+
+client = AcsClient (AccessKey, AccessSecret, RegionId)
+
+
+def addBackendServers(slb_id,instance_id):
+    request = AddBackendServersRequest()
+    request.set_accept_format('json')
+    ipaddr = getIpaddr(instance_id)
+    request.set_LoadBalancerId(slb_id)
+
+    request.set_BackendServers([{"ServerId": instance_id, "Weight": "100", "Type": "ecs", "ServerIp": ipaddr}])
+    response = client.do_action_with_exception(request)
+    logging.info(response)
+
+def getIpaddr(instance_id):
+  request = DescribeNetworkInterfacesRequest()
+  request.set_accept_format('json')
+  request.set_InstanceId(instance_id)
+  response = clt.do_action_with_exception(request)
+  request_content = json.loads(response)
+  ipaddr = request_content['NetworkInterfaceSets']['NetworkInterfaceSet'][0]['PrivateIpAddress']
+  return  ipaddr
+
+def healthCheck(instance_id):
+  ipaddr = getIpaddr(instance_id)
+  while True:
+      health_url = 'http://%s:8182/%s/test' %(ipaddr,app)
+      http_code = requests.get(health_url).status_code
+      if  http_code == 200:
+          break
+      else:
+          time.sleep(2)
+  addBackendServers(slb_id,instance_id)
+
+
+
+
+# 创建ECS实例并启动。
+def create_multiple_instances():
+    request = build_request()
+    request.set_Amount(amount)
+    _execute_request(request)
+
+
+def _execute_request(request):
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')
+        running_amount = 0
+        while running_amount < amount:
+            time.sleep(10)
+            running_amount = check_instance_running(instance_ids)
+
+
+    print(" %s is running" %(instance_ids))
+    time.sleep(60)
+    runCommand(instance_ids)
+    for  instance_id  in  instance_ids:
+      healthCheck(instance_id)
+
+
+def check_instance_running(instance_ids):
+    request = DescribeInstancesRequest()
+    request.set_InstanceIds(json.dumps(instance_ids))
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instances_list = response.get('Instances').get('Instance')
+        running_count = 0
+        for instance_detail in instances_list:
+            if instance_detail.get('Status') == "Running":
+                running_count += 1
+        return running_count
+#购买服务器参数配置
+def build_request():
+    request = RunInstancesRequest()
+    request.set_ImageId(image_id)
+    request.set_VSwitchId(vswitch_id)
+    request.set_SecurityGroupId(security_group_id)
+    request.set_ZoneId(zone_id)
+    request.set_InstanceType(instance_type)
+    # request.set_UserData(init_data)
+    request.set_InstanceName(instance_name)
+    request.set_SystemDiskSize(disk_size)
+    request.set_SystemDiskCategory(disk_category)
+    request.set_KeyPairName(key_pair_name)
+    request.set_Tags([
+      {
+        "Key": "ecs",
+        "Value": tag_value
+      }
+    ])
+    return request
+
+#批量执行shell脚本
+def  runCommand(instance_ids):
+  request = RunCommandRequest()
+  request.set_accept_format('json')
+
+  request.set_Type("RunShellScript")
+  request.set_CommandContent("curl  -s https://rescdn.yishihui.com/crontab/start-commonapi.sh|sh")
+  request.set_InstanceIds(instance_ids)
+
+  response = clt.do_action_with_exception(request)
+  logging.info(response)
+# 发送API请求
+def _send_request(request):
+    request.set_accept_format('json')
+    try:
+        response_str = clt.do_action(request)
+        logging.info(response_str)
+        response_detail = json.loads(response_str)
+        return response_detail
+    except Exception as e:
+        logging.error(e)
+
+if __name__ == '__main__':
+    print ("Start Create Instances")
+    # 创建ECS实例并启动。
+    create_multiple_instances()
+
+
+

+ 166 - 0
all/ess/ess-instance-longvideoapi.py

@@ -0,0 +1,166 @@
+# #!/usr/bin/env python
+# #coding=utf-8
+#
+import  json
+import logging
+import time
+import requests
+import  sys
+from aliyunsdkcore import client
+from aliyunsdkcore.client import AcsClient
+from aliyunsdkcore.acs_exception.exceptions import ClientException
+from aliyunsdkcore.acs_exception.exceptions import ServerException
+from aliyunsdkecs.request.v20140526.CreateInstanceRequest import CreateInstanceRequest
+from aliyunsdkecs.request.v20140526.StartInstanceRequest import StartInstanceRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest
+from aliyunsdkecs.request.v20140526.DescribeNetworkInterfacesRequest import DescribeNetworkInterfacesRequest
+from aliyunsdkslb.request.v20140515.AddBackendServersRequest import AddBackendServersRequest
+from aliyunsdkecs.request.v20140526.RunCommandRequest import RunCommandRequest
+
+
+logging.basicConfig(level=logging.INFO,
+                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
+                    datefmt='%a, %d %b %Y %H:%M:%S')
+ak_id = "LTAI4GBWbFvvXoXsSVBe1o9f"
+ak_secret = "kRAikWitb4kDxaAyBqNrmLmllMEDO3"
+region_id = "cn-hangzhou"
+clt = client.AcsClient(ak_id, ak_secret, region_id)
+instance_type = "ecs.c6.2xlarge"
+vswitch_id = "vsw-bp19lpjwtc6j0p0m9mdc2"
+image_id = "m-bp15xqcuacm4zw2h2gi6"
+security_group_id = "sg-bp1irhrkr4vfj272hk4y"
+amount = int(sys.argv[1])
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+disk_size = "200"
+instance_name = "ESS-longvideoapi-[1,2]"
+zone_id = "cn-hangzhou-h"
+disk_category = "cloud_efficiency"
+key_pair_name = "stuuudy"
+#slb_id = "lb-bp1r9duz4k7z0riz9zs3n"
+#longvideoapi
+slb_id = "lb-bp1d6hp2ctotgt870miav"
+
+client = AcsClient (AccessKey, AccessSecret, RegionId)
+
+
+def addBackendServers(slb_id,instance_id):
+    request = AddBackendServersRequest()
+    request.set_accept_format('json')
+    ipaddr = getIpaddr(instance_id)
+    request.set_LoadBalancerId(slb_id)
+
+    request.set_BackendServers([{"ServerId": instance_id, "Weight": "100", "Type": "ecs", "ServerIp": ipaddr}])
+    response = client.do_action_with_exception(request)
+    logging.info(response)
+
+def getIpaddr(instance_id):
+  request = DescribeNetworkInterfacesRequest()
+  request.set_accept_format('json')
+  request.set_InstanceId(instance_id)
+  response = clt.do_action_with_exception(request)
+  request_content = json.loads(response)
+  ipaddr = request_content['NetworkInterfaceSets']['NetworkInterfaceSet'][0]['PrivateIpAddress']
+  return  ipaddr
+
+def healthCheck(instance_id):
+  ipaddr = getIpaddr(instance_id)
+  while True:
+      health_url = 'http://%s:8182/longvideoapi/test' %(ipaddr)
+      http_code = requests.get(health_url).status_code
+      if  http_code == 200:
+          break
+      else:
+          time.sleep(2)
+  addBackendServers(slb_id,instance_id)
+
+
+
+
+# 创建ECS实例并启动。
+def create_multiple_instances():
+    request = build_request()
+    request.set_Amount(amount)
+    _execute_request(request)
+
+
+def _execute_request(request):
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')
+        running_amount = 0
+        while running_amount < amount:
+            time.sleep(10)
+            running_amount = check_instance_running(instance_ids)
+
+
+    print(" %s is running" %(instance_ids))
+    time.sleep(60)
+    runCommand(instance_ids)
+    for  instance_id  in  instance_ids:
+      healthCheck(instance_id)
+
+
+def check_instance_running(instance_ids):
+    request = DescribeInstancesRequest()
+    request.set_InstanceIds(json.dumps(instance_ids))
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instances_list = response.get('Instances').get('Instance')
+        running_count = 0
+        for instance_detail in instances_list:
+            if instance_detail.get('Status') == "Running":
+                running_count += 1
+        return running_count
+#购买服务器参数配置
+def build_request():
+    request = RunInstancesRequest()
+    request.set_ImageId(image_id)
+    request.set_VSwitchId(vswitch_id)
+    request.set_SecurityGroupId(security_group_id)
+    request.set_ZoneId(zone_id)
+    request.set_InstanceType(instance_type)
+    # request.set_UserData(init_data)
+    request.set_InstanceName(instance_name)
+    request.set_SystemDiskSize(disk_size)
+    request.set_SystemDiskCategory(disk_category)
+    request.set_KeyPairName(key_pair_name)
+    request.set_Tags([
+      {
+        "Key": "ecs",
+        "Value": "longvideoapi.prod"
+      }
+    ])
+    return request
+
+#批量执行shell脚本
+def  runCommand(instance_ids):
+  request = RunCommandRequest()
+  request.set_accept_format('json')
+
+  request.set_Type("RunShellScript")
+  request.set_CommandContent("sh /home/sh/start.sh")
+  request.set_InstanceIds(instance_ids)
+
+  response = clt.do_action_with_exception(request)
+  logging.info(response)
+# 发送API请求
+def _send_request(request):
+    request.set_accept_format('json')
+    try:
+        response_str = clt.do_action(request)
+        logging.info(response_str)
+        response_detail = json.loads(response_str)
+        return response_detail
+    except Exception as e:
+        logging.error(e)
+
+if __name__ == '__main__':
+    print ("Start Create Instances")
+    # 创建ECS实例并启动。
+    create_multiple_instances()
+
+
+

+ 164 - 0
all/ess/ess-instance-recommend-queue.py

@@ -0,0 +1,164 @@
+# #!/usr/bin/env python
+# #coding=utf-8
+#
+import  json
+import logging
+import time
+import requests
+import  sys
+from aliyunsdkcore import client
+from aliyunsdkcore.client import AcsClient
+from aliyunsdkcore.acs_exception.exceptions import ClientException
+from aliyunsdkcore.acs_exception.exceptions import ServerException
+from aliyunsdkecs.request.v20140526.CreateInstanceRequest import CreateInstanceRequest
+from aliyunsdkecs.request.v20140526.StartInstanceRequest import StartInstanceRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest
+from aliyunsdkecs.request.v20140526.DescribeNetworkInterfacesRequest import DescribeNetworkInterfacesRequest
+from aliyunsdkslb.request.v20140515.AddBackendServersRequest import AddBackendServersRequest
+from aliyunsdkecs.request.v20140526.RunCommandRequest import RunCommandRequest
+
+
+logging.basicConfig(level=logging.INFO,
+                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
+                    datefmt='%a, %d %b %Y %H:%M:%S')
+ak_id = "LTAI4GBWbFvvXoXsSVBe1o9f"
+ak_secret = "kRAikWitb4kDxaAyBqNrmLmllMEDO3"
+region_id = "cn-hangzhou"
+clt = client.AcsClient(ak_id, ak_secret, region_id)
+instance_type = "ecs.sn1.3xlarge"
+vswitch_id = "vsw-bp1l7qotu3lu6bqhbiep2"
+image_id = "m-bp1a14r3669cf7np1o7z"
+security_group_id = "sg-bp1irhrkr4vfj272hk4y"
+amount = int(sys.argv[1])
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+disk_size = "200"
+instance_name = "ESS-recommend-queue-[1,2]"
+zone_id = "cn-hangzhou-f"
+disk_category = "cloud_efficiency"
+key_pair_name = "stuuudy"
+#slb_id = "lb-bp1r9duz4k7z0riz9zs3n"
+#vlogapi
+slb_id = "lb-bp1fwgroy1n3xh5nl5ro6"
+
+client = AcsClient (AccessKey, AccessSecret, RegionId)
+
+
+def addBackendServers(slb_id,instance_id):
+    request = AddBackendServersRequest()
+    request.set_accept_format('json')
+    ipaddr = getIpaddr(instance_id)
+    request.set_LoadBalancerId(slb_id)
+
+    request.set_BackendServers([{"ServerId": instance_id, "Weight": "100", "Type": "ecs", "ServerIp": ipaddr}])
+    response = client.do_action_with_exception(request)
+    logging.info(response)
+
+def getIpaddr(instance_id):
+  request = DescribeNetworkInterfacesRequest()
+  request.set_accept_format('json')
+  request.set_InstanceId(instance_id)
+  response = clt.do_action_with_exception(request)
+  request_content = json.loads(response)
+  ipaddr = request_content['NetworkInterfaceSets']['NetworkInterfaceSet'][0]['PrivateIpAddress']
+  return  ipaddr
+
+def healthCheck(instance_id):
+  ipaddr = getIpaddr(instance_id)
+  while True:
+      health_url = 'http://%s:8182/longvideoapi/test' %(ipaddr)
+      http_code = requests.get(health_url).status_code
+      if  http_code == 200:
+          break
+      else:
+          time.sleep(10)
+  addBackendServers(slb_id,instance_id)
+
+
+
+
+# 创建ECS实例并启动。
+def create_multiple_instances():
+    request = build_request()
+    request.set_Amount(amount)
+    _execute_request(request)
+
+
+def _execute_request(request):
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')
+        running_amount = 0
+        while running_amount < amount:
+            time.sleep(10)
+            running_amount = check_instance_running(instance_ids)
+
+
+    print(" %s is running" %(instance_ids))
+    time.sleep(60)
+    runCommand(instance_ids)
+
+
+def check_instance_running(instance_ids):
+    request = DescribeInstancesRequest()
+    request.set_InstanceIds(json.dumps(instance_ids))
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instances_list = response.get('Instances').get('Instance')
+        running_count = 0
+        for instance_detail in instances_list:
+            if instance_detail.get('Status') == "Running":
+                running_count += 1
+        return running_count
+#购买服务器参数配置
+def build_request():
+    request = RunInstancesRequest()
+    request.set_ImageId(image_id)
+    request.set_VSwitchId(vswitch_id)
+    request.set_SecurityGroupId(security_group_id)
+    request.set_ZoneId(zone_id)
+    request.set_InstanceType(instance_type)
+    # request.set_UserData(init_data)
+    request.set_InstanceName(instance_name)
+    request.set_SystemDiskSize(disk_size)
+    request.set_SystemDiskCategory(disk_category)
+    request.set_KeyPairName(key_pair_name)
+    request.set_Tags([
+      {
+        "Key": "ecs",
+        "Value": "recommend-queue.prod"
+      } 
+    ])
+    return request
+
+#批量执行shell脚本
+def  runCommand(instance_ids):
+  request = RunCommandRequest()
+  request.set_accept_format('json')
+
+  request.set_Type("RunShellScript")
+  request.set_CommandContent("curl   https://rescdn.yishihui.com/crontab/start-recommend-queue.sh|sh")
+  request.set_InstanceIds(instance_ids)
+
+  response = clt.do_action_with_exception(request)
+  logging.info(response)
+# 发送API请求
+def _send_request(request):
+    request.set_accept_format('json')
+    try:
+        response_str = clt.do_action(request)
+        logging.info(response_str)
+        response_detail = json.loads(response_str)
+        return response_detail
+    except Exception as e:
+        logging.error(e)
+
+if __name__ == '__main__':
+    print ("Start Create Instances")
+    # 创建ECS实例并启动。
+    create_multiple_instances()
+
+
+

+ 166 - 0
all/ess/ess-instance-speed.py

@@ -0,0 +1,166 @@
+# #!/usr/bin/env python
+# #coding=utf-8
+#
+import  json
+import logging
+import time
+import requests
+import  sys
+from aliyunsdkcore import client
+from aliyunsdkcore.client import AcsClient
+from aliyunsdkcore.acs_exception.exceptions import ClientException
+from aliyunsdkcore.acs_exception.exceptions import ServerException
+from aliyunsdkecs.request.v20140526.CreateInstanceRequest import CreateInstanceRequest
+from aliyunsdkecs.request.v20140526.StartInstanceRequest import StartInstanceRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest
+from aliyunsdkecs.request.v20140526.DescribeNetworkInterfacesRequest import DescribeNetworkInterfacesRequest
+from aliyunsdkslb.request.v20140515.AddBackendServersRequest import AddBackendServersRequest
+from aliyunsdkecs.request.v20140526.RunCommandRequest import RunCommandRequest
+
+
+logging.basicConfig(level=logging.INFO,
+                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
+                    datefmt='%a, %d %b %Y %H:%M:%S')
+ak_id = "LTAI4GBWbFvvXoXsSVBe1o9f"
+ak_secret = "kRAikWitb4kDxaAyBqNrmLmllMEDO3"
+region_id = "cn-hangzhou"
+clt = client.AcsClient(ak_id, ak_secret, region_id)
+instance_type = "ecs.c6.2xlarge"
+vswitch_id = "vsw-bp19lpjwtc6j0p0m9mdc2"
+image_id = "m-bp15xqcuacm4zw2h2gi6"
+security_group_id = "sg-bp1irhrkr4vfj272hk4y"
+amount = int(sys.argv[1])
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+disk_size = "200"
+instance_name = "ESS-speed-[1,2]"
+zone_id = "cn-hangzhou-h"
+disk_category = "cloud_efficiency"
+key_pair_name = "stuuudy"
+#slb_id = "lb-bp1r9duz4k7z0riz9zs3n"
+#vlogapi
+slb_id = "lb-bp1cyqt1fp4hqjuoncwqt"
+
+client = AcsClient (AccessKey, AccessSecret, RegionId)
+
+
+def addBackendServers(slb_id,instance_id):
+    request = AddBackendServersRequest()
+    request.set_accept_format('json')
+    ipaddr = getIpaddr(instance_id)
+    request.set_LoadBalancerId(slb_id)
+
+    request.set_BackendServers([{"ServerId": instance_id, "Weight": "100", "Type": "ecs", "ServerIp": ipaddr}])
+    response = client.do_action_with_exception(request)
+    logging.info(response)
+
+def getIpaddr(instance_id):
+  request = DescribeNetworkInterfacesRequest()
+  request.set_accept_format('json')
+  request.set_InstanceId(instance_id)
+  response = clt.do_action_with_exception(request)
+  request_content = json.loads(response)
+  ipaddr = request_content['NetworkInterfaceSets']['NetworkInterfaceSet'][0]['PrivateIpAddress']
+  return  ipaddr
+
+def healthCheck(instance_id):
+  ipaddr = getIpaddr(instance_id)
+  while True:
+      health_url = 'http://%s:8182/longvideoapi/test' %(ipaddr)
+      http_code = requests.get(health_url).status_code
+      if  http_code == 200:
+          break
+      else:
+          time.sleep(10)
+  addBackendServers(slb_id,instance_id)
+
+
+
+
+# 创建ECS实例并启动。
+def create_multiple_instances():
+    request = build_request()
+    request.set_Amount(amount)
+    _execute_request(request)
+
+
+def _execute_request(request):
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')
+        running_amount = 0
+        while running_amount < amount:
+            time.sleep(10)
+            running_amount = check_instance_running(instance_ids)
+
+
+    print(" %s is running" %(instance_ids))
+    time.sleep(60)
+    runCommand(instance_ids)
+    for  instance_id  in  instance_ids:
+      healthCheck(instance_id)
+
+
+def check_instance_running(instance_ids):
+    request = DescribeInstancesRequest()
+    request.set_InstanceIds(json.dumps(instance_ids))
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instances_list = response.get('Instances').get('Instance')
+        running_count = 0
+        for instance_detail in instances_list:
+            if instance_detail.get('Status') == "Running":
+                running_count += 1
+        return running_count
+#购买服务器参数配置
+def build_request():
+    request = RunInstancesRequest()
+    request.set_ImageId(image_id)
+    request.set_VSwitchId(vswitch_id)
+    request.set_SecurityGroupId(security_group_id)
+    request.set_ZoneId(zone_id)
+    request.set_InstanceType(instance_type)
+    # request.set_UserData(init_data)
+    request.set_InstanceName(instance_name)
+    request.set_SystemDiskSize(disk_size)
+    request.set_SystemDiskCategory(disk_category)
+    request.set_KeyPairName(key_pair_name)
+    request.set_Tags([
+      {
+        "Key": "ecs",
+        "Value": "speed.prod"
+      } 
+    ])
+    return request
+
+#批量执行shell脚本
+def  runCommand(instance_ids):
+  request = RunCommandRequest()
+  request.set_accept_format('json')
+
+  request.set_Type("RunShellScript")
+  request.set_CommandContent("sh /home/sh/start.sh")
+  request.set_InstanceIds(instance_ids)
+
+  response = clt.do_action_with_exception(request)
+  logging.info(response)
+# 发送API请求
+def _send_request(request):
+    request.set_accept_format('json')
+    try:
+        response_str = clt.do_action(request)
+        logging.info(response_str)
+        response_detail = json.loads(response_str)
+        return response_detail
+    except Exception as e:
+        logging.error(e)
+
+if __name__ == '__main__':
+    print ("Start Create Instances")
+    # 创建ECS实例并启动。
+    create_multiple_instances()
+
+
+

+ 166 - 0
all/ess/ess-instance-vlogapi.py

@@ -0,0 +1,166 @@
+# #!/usr/bin/env python
+# #coding=utf-8
+#
+import  json
+import logging
+import time
+import requests
+import  sys
+from aliyunsdkcore import client
+from aliyunsdkcore.client import AcsClient
+from aliyunsdkcore.acs_exception.exceptions import ClientException
+from aliyunsdkcore.acs_exception.exceptions import ServerException
+from aliyunsdkecs.request.v20140526.CreateInstanceRequest import CreateInstanceRequest
+from aliyunsdkecs.request.v20140526.StartInstanceRequest import StartInstanceRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest
+from aliyunsdkecs.request.v20140526.DescribeNetworkInterfacesRequest import DescribeNetworkInterfacesRequest
+from aliyunsdkslb.request.v20140515.AddBackendServersRequest import AddBackendServersRequest
+from aliyunsdkecs.request.v20140526.RunCommandRequest import RunCommandRequest
+
+
+logging.basicConfig(level=logging.INFO,
+                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
+                    datefmt='%a, %d %b %Y %H:%M:%S')
+ak_id = "LTAI4GBWbFvvXoXsSVBe1o9f"
+ak_secret = "kRAikWitb4kDxaAyBqNrmLmllMEDO3"
+region_id = "cn-hangzhou"
+clt = client.AcsClient(ak_id, ak_secret, region_id)
+instance_type = "ecs.c6.2xlarge"
+vswitch_id = "vsw-bp19lpjwtc6j0p0m9mdc2"
+image_id = "m-bp15xqcuacm4zw2h2gi6"
+security_group_id = "sg-bp1irhrkr4vfj272hk4y"
+amount = int(sys.argv[1])
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+disk_size = "200"
+instance_name = "ESS-vlogapi-[1,2]"
+zone_id = "cn-hangzhou-h"
+disk_category = "cloud_efficiency"
+key_pair_name = "stuuudy"
+#slb_id = "lb-bp1r9duz4k7z0riz9zs3n"
+#vlogapi
+slb_id = "lb-bp1fwgroy1n3xh5nl5ro6"
+
+client = AcsClient (AccessKey, AccessSecret, RegionId)
+
+
+def addBackendServers(slb_id,instance_id):
+    request = AddBackendServersRequest()
+    request.set_accept_format('json')
+    ipaddr = getIpaddr(instance_id)
+    request.set_LoadBalancerId(slb_id)
+
+    request.set_BackendServers([{"ServerId": instance_id, "Weight": "100", "Type": "ecs", "ServerIp": ipaddr}])
+    response = client.do_action_with_exception(request)
+    logging.info(response)
+
+def getIpaddr(instance_id):
+  request = DescribeNetworkInterfacesRequest()
+  request.set_accept_format('json')
+  request.set_InstanceId(instance_id)
+  response = clt.do_action_with_exception(request)
+  request_content = json.loads(response)
+  ipaddr = request_content['NetworkInterfaceSets']['NetworkInterfaceSet'][0]['PrivateIpAddress']
+  return  ipaddr
+
+def healthCheck(instance_id):
+  ipaddr = getIpaddr(instance_id)
+  while True:
+      health_url = 'http://%s:8182/longvideoapi/test' %(ipaddr)
+      http_code = requests.get(health_url).status_code
+      if  http_code == 200:
+          break
+      else:
+          time.sleep(10)
+  addBackendServers(slb_id,instance_id)
+
+
+
+
+# 创建ECS实例并启动。
+def create_multiple_instances():
+    request = build_request()
+    request.set_Amount(amount)
+    _execute_request(request)
+
+
+def _execute_request(request):
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instance_ids = response.get('InstanceIdSets').get('InstanceIdSet')
+        running_amount = 0
+        while running_amount < amount:
+            time.sleep(10)
+            running_amount = check_instance_running(instance_ids)
+
+
+    print(" %s is running" %(instance_ids))
+    time.sleep(60)
+    runCommand(instance_ids)
+    for  instance_id  in  instance_ids:
+      healthCheck(instance_id)
+
+
+def check_instance_running(instance_ids):
+    request = DescribeInstancesRequest()
+    request.set_InstanceIds(json.dumps(instance_ids))
+    response = _send_request(request)
+    if response.get('Code') is None:
+        instances_list = response.get('Instances').get('Instance')
+        running_count = 0
+        for instance_detail in instances_list:
+            if instance_detail.get('Status') == "Running":
+                running_count += 1
+        return running_count
+#购买服务器参数配置
+def build_request():
+    request = RunInstancesRequest()
+    request.set_ImageId(image_id)
+    request.set_VSwitchId(vswitch_id)
+    request.set_SecurityGroupId(security_group_id)
+    request.set_ZoneId(zone_id)
+    request.set_InstanceType(instance_type)
+    # request.set_UserData(init_data)
+    request.set_InstanceName(instance_name)
+    request.set_SystemDiskSize(disk_size)
+    request.set_SystemDiskCategory(disk_category)
+    request.set_KeyPairName(key_pair_name)
+    request.set_Tags([
+      {
+        "Key": "ecs",
+        "Value": "vlogapi.prod"
+      } 
+    ])
+    return request
+
+#批量执行shell脚本
+def  runCommand(instance_ids):
+  request = RunCommandRequest()
+  request.set_accept_format('json')
+
+  request.set_Type("RunShellScript")
+  request.set_CommandContent("sh /home/sh/start.sh")
+  request.set_InstanceIds(instance_ids)
+
+  response = clt.do_action_with_exception(request)
+  logging.info(response)
+# 发送API请求
+def _send_request(request):
+    request.set_accept_format('json')
+    try:
+        response_str = clt.do_action(request)
+        logging.info(response_str)
+        response_detail = json.loads(response_str)
+        return response_detail
+    except Exception as e:
+        logging.error(e)
+
+if __name__ == '__main__':
+    print ("Start Create Instances")
+    # 创建ECS实例并启动。
+    create_multiple_instances()
+
+
+

+ 18 - 0
all/other/md5.py

@@ -0,0 +1,18 @@
+import hashlib
+import os
+ 
+ 
+def GetFileMd5(filename):
+    if not os.path.isfile(filename):
+        return
+    myHash = hashlib.md5()
+    f = open(filename,'rb')
+    while True:
+        b = f.read(8096)
+        if not b :
+            break
+        myHash.update(b)
+    f.close()
+    return myHash.hexdigest()
+ 
+print(GetFileMd5('/home/tomcat/tomcat-longvideoapi/webapps/longvideoapi.war')) 

+ 18 - 0
all/other/md5_commonapi.py

@@ -0,0 +1,18 @@
+import hashlib
+import os
+ 
+ 
+def GetFileMd5(filename):
+    if not os.path.isfile(filename):
+        return
+    myHash = hashlib.md5()
+    f = open(filename,'rb')
+    while True:
+        b = f.read(8096)
+        if not b :
+            break
+        myHash.update(b)
+    f.close()
+    return myHash.hexdigest()
+ 
+print(GetFileMd5('/data/backup/md5/vlog/longvideoapi.war')) 

+ 18 - 0
all/other/md5_vlog.py

@@ -0,0 +1,18 @@
+import hashlib
+import os
+ 
+ 
+def GetFileMd5(filename):
+    if not os.path.isfile(filename):
+        return
+    myHash = hashlib.md5()
+    f = open(filename,'rb')
+    while True:
+        b = f.read(8096)
+        if not b :
+            break
+        myHash.update(b)
+    f.close()
+    return myHash.hexdigest()
+ 
+print(GetFileMd5('/data/backup/md5/vlog/longvideoapi.war')) 

+ 16 - 0
all/other/python3_install.sh

@@ -0,0 +1,16 @@
+
+#bin/bash!
+yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel -y
+cd /usr/local/src
+wget https://test-art-h5.oss-cn-hangzhou.aliyuncs.com/Python-3.7.3.tgz
+tar -zxf /usr/local/src/Python-3.7.3.tgz
+cd Python-3.7.3
+./configure
+make  && make install
+mv /usr/bin/python /usr/bin/python.bak
+ln -s /usr/local/bin/python3 /usr/bin/python
+mv /usr/bin/pip /usr/bin/pip.bak
+ln -s /usr/local/bin/pip3 /usr/bin/pip
+sed -i  '1c  #! /usr/bin/python2.7'    /usr/libexec/urlgrabber-ext-down
+sed -i  '1c  #! /usr/bin/python2.7'    /usr/bin/yum
+

+ 37 - 0
all/other/redis_change_expiretime_2.py

@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+# --coding:utf-8--
+import   redis
+
+import  os ,sys ,time
+
+def redis_scan():
+    try:
+        redisconn = redis.Redis(host='r-bp1lsmidgnw4w7n1pi.redis.rds.aliyuncs.com', password="Wqsd@2019", port=6379,
+                               db=0)
+    except Exception as e:
+        print("connect redis error")
+        sys.exit(1)
+    cursor = 1
+    isNoe = True
+    file = open('rediskey', 'a+')
+    while cursor != 0:
+        if isNoe:
+            cursor = 0
+            isNoe = False
+        key = redisconn.scan(cursor, count=10000)        #每次拿2000个key
+        time.sleep(0.05)
+        if len(key[1]) == 0:
+            print("key scan finish")
+        else:
+            for n in key[1]:
+                n = bytes.decode(n)
+                # MESSAGE_MERGE_LIST_IDS
+                # MESSAGE_MERGE_LIST_COUNT
+                if n[:23] == "MESSAGE_MERGE_LIST_SORT":
+                    # MESSAGE_MERGE_LIST_SORT
+                    redisconn.expire(n,2592000)
+                    print(n)
+                cursor = key[0]
+    file.close()
+
+redis_scan()

+ 53 - 0
all/run/longvideoapi_docker.sh

@@ -0,0 +1,53 @@
+#/bin/bash
+cid=0
+httpcode=000
+check_up(){
+        echo "-----------------------------"
+        echo "正在确认服务是否完成启动!"
+        while  [ $httpcode != 200 ]
+        do
+                httpcode=`curl -I -m 10 -o /dev/null -s -w %{http_code}  http://localhost:8182/longvideoapi/test`
+                echo  -en  ". "
+                sleep 2
+        done
+        echo  " "
+        echo   “请求返回值:  $httpcode  服务器启动完成”
+        echo "-----------------------------"  
+
+}
+
+
+
+stop(){
+        pid = `ps -ef|grep "MediaCenter"|grep -v  grep|awk  '{print $2}'`
+        if [ $pid  ];then
+            kill  -9  $pid
+        else
+            echo  "Server is not running"
+        fi
+
+
+}
+start(){
+      java -jar  MediaCenter.jar
+}
+
+  case "$1" in
+   'start')
+      start
+      ;;
+   'stop')
+     stop
+     ;;
+   'restart')
+     stop
+     start
+     ;;
+   'status')
+     check_up
+     ;;
+  *)
+     echo "Usage: $0 {start|stop|restart|status}"
+     exit 1
+;;
+esac

+ 155 - 0
all/run/manager.sh

@@ -0,0 +1,155 @@
+#!/bin/sh
+#启动用户
+RUNNING_USER=root
+SR_HOME=/home/tomcat/tomcat-manager/bin
+LOGS_HOME=/home/tomcat/tomcat-manager/logs
+APP_MAINCLASS=tomcat_manager
+JAVA_CMD=" sh $SR_HOME/startup.sh "
+JAVA_CMD_SHUTDOWN=" sh $SR_HOME/shutdown.sh "
+#初始化psid变量(全局)
+psid=0
+ 
+checkpid() {
+   javaps=`ps aux | grep  $SR_HOME | grep -v grep | grep -v retomcat `
+ 
+   if [ -n "$javaps" ]; then
+      psid=`echo $javaps | awk '{print $2}'`
+   else
+      psid=0
+   fi
+}
+
+
+start() {
+   checkpid
+ 
+   if [ $psid -ne 0 ]; then
+      echo "================================"
+      echo "warn: $APP_MAINCLASS already started! (pid=$psid)"
+      echo "================================"
+     else
+      echo -n "Starting $APP_MAINCLASS ..."
+     # JAVA_CMD=" $JAVA_HOME/bin/java $JAVA_OPTS >${LOGS} 2>&1 &"
+      #cd  $APP_HOME/${APP_MAINCLASS}
+     su  $RUNNING_USER -c "$JAVA_CMD "
+     
+      checkpid
+         if [ $psid -ne 0 ]; then
+              echo "================================"
+            echo "(pid=$psid) [OK]"
+               echo "================================"
+                    else
+             echo "[Failed]"
+      fi
+   fi
+}
+ 
+###################################
+#(函数)停止程序
+###################################
+stop() {
+   checkpid
+ 
+   if [ $psid -ne 0 ]; then
+       echo "================================"
+      echo -n "Stopping $APP_MAINCLASS ...(pid=$psid) "
+     su   $RUNNING_USER -c "$JAVA_CMD_SHUTDOWN"
+      sleep 5
+
+      if [ $psid -ne 0 ]; then
+        kill -9 $psid
+      fi
+
+      if [ $? -eq 0 ]; then
+         echo "[OK]" 
+       else
+         echo "[Failed]"
+      fi
+ 
+      checkpid
+      if [ $psid -ne 0 ]; then
+         stop
+      fi
+   else
+      echo "================================"
+      echo "warn: $APP_MAINCLASS is not running"
+      echo "================================"
+   fi
+}
+
+restart() {
+
+     stop
+     start
+     info
+}        
+ 
+###################################
+#(函数)检查程序运行状态
+#
+#说明:
+#1. 首先调用checkpid函数,刷新$psid全局变量
+#2. 如果程序已经启动($psid不等于0),则提示正在运行并表示出pid
+#3. 否则,提示程序未运行
+###################################
+status() {
+   checkpid
+ 
+   if [ $psid -ne 0 ];  then
+       echo "================================"
+      echo "$APP_MAINCLASS is running! (pid=$psid)"
+       echo "================================"
+   else
+       echo "================================"
+      echo "$APP_MAINCLASS is not running"
+       echo "================================"
+   fi
+}
+ 
+###################################
+#(函数)打印系统环境参数
+###################################
+info() {
+   echo "System Information:"
+   echo "================================"
+   echo `head -n 1 /etc/issue`
+   echo `uname -a`
+   echo
+   echo `$JAVA_HOME/bin/java -version`
+   echo
+   echo  "==============================="
+   echo "SR_HOME=$SR_HOME"
+   echo "LOGS_HOME=$LOGS_HOME"
+   echo "==============================="
+}
+ 
+###################################
+#读取脚本的第一个参数($1),进行判断
+#参数取值范围:{start|stop|restart|status|info}
+#如参数不在指定范围之内,则打印帮助信息
+###################################
+case "$1" in
+   'start')
+      start
+      ;;
+   'stop')
+     stop
+     ;;
+   'restart')
+     stop
+     start
+     ;;
+   'status')
+     status
+     ;;
+   'info')
+     info
+     ;;
+  *)
+     echo "Usage: $0 {start|stop|restart|status|info}"
+     exit 1
+;;
+esac
+
+
+ 

+ 6 - 0
all/run/pytest_run.sh

@@ -0,0 +1,6 @@
+#/bin/sh
+mkdir pytest_index
+/usr/local/bin/pytest master/cases  -v --alluredir=$WORKSPACE/allure-results  --html=$WORKSPACE/pytest_index/index.html
+curl -X POST -H "Content-Type: application/json" \
+        -d '{"msg_type":"text","content":{"text":"测试结果: https://jenkins-on.yishihui.com/job/%E6%8E%A5%E5%8F%A3%E7%9B%91%E6%8E%A7%E8%87%AA%E5%8A%A8%E5%AE%9A%E6%97%B6%E8%BF%90%E8%A1%8C/allure/"}}'  \
+      https://open.feishu.cn/open-apis/bot/v2/hook/328be50b-624c-4ff9-844c-b90c7cf0acb8

+ 126 - 0
all/run/slb_scan.py

@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+import sys
+import  socket
+import  json
+import   docker
+import time
+
+from aliyunsdkcore.client import AcsClient
+from aliyunsdkcore.acs_exception.exceptions import ClientException
+from aliyunsdkcore.acs_exception.exceptions import ServerException
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkslb.request.v20140515.AddBackendServersRequest import AddBackendServersRequest
+
+
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+
+client = AcsClient (AccessKey, AccessSecret, RegionId)
+Host = socket.gethostname ()
+
+slb_id = {
+          'test':'lb-bp1r9duz4k7z0riz9zs3n'
+         }
+
+docker_name = {'test':'vlogapi',
+               'vlogapi':'vlogapi',
+               'longvideoapi':'vlogapi',
+               'commonapi':'commonapi'
+              }
+
+health_check_name = {'test':'longvideoapi',
+               'vlogapi':'longvideoapi',
+               'longvideoapi':'longvideoapi',
+               'commonapi':'commonapi'
+              }
+
+def getIpaddr():
+    try:
+        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+        s.connect(('8.8.8.8', 80))
+        ipaddr = s.getsockname()[0]
+    finally:
+        s.close()
+        return ipaddr
+
+
+def  getTag():
+     ipadd = []
+     ipadd.append(getIpaddr())
+     request = DescribeInstancesRequest()
+     request.set_accept_format('json')
+     request.set_PrivateIpAddresses(ipadd)
+
+     response = client.do_action_with_exception(request)
+     print(str(response, encoding='utf-8'))
+     res = json.loads(response)
+     tag = res["Instances"]["Instance"][0]["Tags"]["Tag"][0]["TagValue"]
+
+     return  tag
+
+def  run(apps):
+    i_name = docker_name.get(apps)
+    images = "registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/" + i_name + ":latest"
+    client = docker.DockerClient(base_url='tcp://localhost:2375' ,timeout=60 )
+    c_name = docker_name.get(apps)
+    try:
+        client.containers.run(images,restart_policy={"Name": "always", "MaximumRetryCount": 5},name=c_name,cap_add="SYS_PTRACE",network_mode="host")
+
+    except Exception as e:
+        print(e)
+
+
+def  healthCheck(apps):
+
+
+    healcheck_apps = health_check_name.get(apps)
+    health_url = 'http://localhost:8182/%s/test' %(healcheck_apps)
+    print(health_url)
+    try:
+        http_code = requests.get(health_url).status_code
+        return http_code
+    except  Exception  as e:
+        print(e)
+
+def getInstanceId():
+    request = DescribeInstancesRequest()
+    request.set_accept_format('json')
+    ipaddr = []
+    request.set_PrivateIpAddresses(ipaddr.append(getIpaddr()))
+
+    response = client.do_action_with_exception(request)
+    result = json.loads(response)
+    instanceId = result["Instances"]["Instance"][0]["InstanceId"]
+    return instanceId
+
+def  addBackendServers(apps):
+    request = AddBackendServersRequest()
+    request.set_accept_format('json')
+    ipaddr = getIpaddr()
+    instanceId = getInstanceId()
+    slb = slb_id.get(apps)
+    request.set_LoadBalancerId(slb)
+    request.set_BackendServers([{ "ServerId": instanceId, "Weight": "100", "Type": "ecs", "ServerIp": ipaddr}])
+
+    response = client.do_action_with_exception(request)
+    print(str(response, encoding='utf-8'))
+if __name__ == "__main__":
+
+    apps = getTag()
+    run(apps)
+    time.sleep(60)
+
+    while  times < 30:
+        try:
+            http_code = healthCheck(apps)
+            if  http_code == 200:
+                break
+            else:
+                time.sleep(2)
+                times += 1
+        except Exception as e:
+            print(e)
+
+    

+ 100 - 0
all/run/video-measure-queue-docker.sh

@@ -0,0 +1,100 @@
+#/bin/bash
+cid=0
+httpcode=000
+check_docker(){
+	echo "-----------------------------"
+   	echo "检查Docker安装环境......"
+	echo "-----------------------------"
+  	 docker -v
+	if [ $? -eq  0 ]; then
+		echo "检查到Docker已安装!"
+		echo "-----------------------------"
+		service docker restart
+		sleep  5
+	else
+		echo "安装docker环境..."
+		echo "-----------------------------"
+		yum install  docker     -y
+		echo "安装docker环境...安装完成!"
+		echo "-----------------------------"
+                service docker start
+		sleep  5
+	fi
+}
+check_up(){
+	echo "-----------------------------"
+	echo "正在确认服务是否完成启动!"
+	while  [ $httpcode != 200 ]
+	do
+		httpcode=`curl -I -m 10 -o /dev/null -s -w %{http_code}  http://localhost:8182/longvideoapi/test`
+       		echo  -en  ". "
+       		sleep 2
+   	 done
+	echo  " "
+	echo   “请求返回值:  $httpcode  服务器启动完成”
+	echo "-----------------------------"  
+
+
+
+}
+
+
+
+stop(){
+	echo "-----------------------------"
+	echo "检查video-measure-queue-test容器是否存在"
+	echo "-----------------------------"
+        echo "停止并删除容器"
+        echo "-----------------------------"
+        docker  stop  $(docker ps -a|grep  "video-measure-queue-test:latest"|grep -v grep|awk  '{print $1}')
+        docker  rm  -f $(docker ps -a|grep  "video-measure-queue-test:latest"|grep -v grep|awk  '{print $1}')
+        docker  rmi  registry-internal.cn-hangzhou.aliyuncs.com/stuuudy/video-measure-queue-test:latest
+
+      
+}
+
+start(){
+	check_docker
+	cid=`docker ps |grep  "video-measure-queue-test:latest"|grep -v grep|awk  '{print $1}'`
+	if [ $cid  ];then
+		echo "video-measure-queue-test already started !"
+		echo "-----------------------------"
+	else
+
+		docker login --username=stuuudys --password=Qingqu@2019   registry-internal.cn-hangzhou.aliyuncs.com
+		docker run --cap-add=SYS_PTRACE  -d -it  --network host  --restart=always  -v /datalog/weblog/java/stuuudy.com/measurevideoqueue/:/datalog/weblog/java/stuuudy.com/measurevideoqueue/ registry-internal.cn-hangzhou.aliyuncs.com/stuuudy/video-measure-queue-test:latest
+	
+	fi
+
+}
+
+
+
+  case "$1" in
+   'start')
+      start
+      ;;
+   'stop')
+     stop
+     ;;
+   'restart')
+     stop
+     start
+     ;;
+   'rollback')
+     rollback
+     ;;
+   'deploy')
+     deploy
+     ;;
+   'status')
+     check_up
+     ;;
+   'info')
+     info
+     ;;
+  *)
+     echo "Usage: $0 {start|stop|restart|rollback|deploy|status|info}"
+     exit 1
+;;
+esac

+ 155 - 0
all/run/video-recommend-queue.sh

@@ -0,0 +1,155 @@
+#!/bin/sh
+#启动用户
+RUNNING_USER=root
+SR_HOME=/home/tomcat/tomcat-video-recommend-queue/
+APP_MAINCLASS=tomcat-video-recommend-queue/
+JAVA_CMD=" sh $SR_HOME/bin/startup.sh "
+JAVA_CMD_SHUTDOWN=" sh $SR_HOME/bin/shutdown.sh "
+#初始化psid变量(全局)
+
+psid=0
+ 
+checkpid() {
+   javaps=`ps aux | grep  $SR_HOME | grep -v grep | grep -v retomcat `
+ 
+   if [ -n "$javaps" ]; then
+      psid=`echo $javaps | awk '{print $2}'`
+   else
+      psid=0
+   fi
+}
+
+
+start() {
+   checkpid
+ 
+   if [ $psid -ne 0 ]; then
+      echo "================================"
+      echo "warn: $APP_MAINCLASS already started! (pid=$psid)"
+      echo "================================"
+     else
+      echo -n "Starting $APP_MAINCLASS ..."
+     # JAVA_CMD=" $JAVA_HOME/bin/java $JAVA_OPTS >${LOGS} 2>&1 &"
+      #cd  $APP_HOME/${APP_MAINCLASS}
+     su  $RUNNING_USER -c "$JAVA_CMD "
+     
+      checkpid
+         if [ $psid -ne 0 ]; then
+              echo "================================"
+            echo "(pid=$psid) [OK]"
+               echo "================================"
+                    else
+             echo "[Failed]"
+      fi
+   fi
+}
+ 
+###################################
+#(函数)停止程序
+###################################
+stop() {
+   checkpid
+ 
+   if [ $psid -ne 0 ]; then
+       echo "================================"
+      echo -n "Stopping $APP_MAINCLASS ...(pid=$psid) "
+       su   $RUNNING_USER -c "$JAVA_CMD_SHUTDOWN"
+      sleep  5
+       
+      if [ $psid -ne 0 ]; then
+         kill  -9  $psid
+      fi
+
+      if [ $? -eq 0 ]; then
+         echo "[OK]" 
+       else
+         echo "[Failed]"
+      fi
+ 
+      checkpid
+      if [ $psid -ne 0 ]; then
+         stop
+      fi
+   else
+      echo "================================"
+      echo "warn: $APP_MAINCLASS is not running"
+      echo "================================"
+   fi
+}
+
+restart() {
+
+     stop
+     start
+     info
+}        
+ 
+###################################
+#(函数)检查程序运行状态
+#
+#说明:
+#1. 首先调用checkpid函数,刷新$psid全局变量
+#2. 如果程序已经启动($psid不等于0),则提示正在运行并表示出pid
+#3. 否则,提示程序未运行
+###################################
+status() {
+   checkpid
+   echo  "hostname is  $(hostname)" 
+   if [ $psid -ne 0 ];  then
+       echo "================================"
+      echo "$APP_MAINCLASS is running! (pid=$psid)"
+       echo "================================"
+   else
+       echo "================================"
+      echo "$APP_MAINCLASS is not running"
+       echo "================================"
+   fi
+}
+ 
+###################################
+#(函数)打印系统环境参数
+###################################
+info() {
+   echo "System Information:"
+   echo "================================"
+   echo `head -n 1 /etc/issue`
+   echo `uname -a`
+   echo
+   echo `$JAVA_HOME/bin/java -version`
+   echo
+   echo  "==============================="
+   echo "SR_HOME=$SR_HOME"
+   echo "LOGS_HOME=$LOGS_HOME"
+   echo "==============================="
+}
+ 
+###################################
+#读取脚本的第一个参数($1),进行判断
+#参数取值范围:{start|stop|restart|status|info}
+#如参数不在指定范围之内,则打印帮助信息
+###################################
+case "$1" in
+   'start')
+      start
+      ;;
+   'stop')
+     stop
+     ;;
+   'restart')
+     stop
+     start
+     ;;
+   'status')
+     status
+     ;;
+   'info')
+     info
+     ;;
+  *)
+     echo "Usage: $0 {start|stop|restart|status|info}"
+     exit 1
+;;
+esac
+
+
+ 

+ 36 - 0
all/update/system_software_update.sh

@@ -0,0 +1,36 @@
+#!bin/sh/
+yum update  -y python-perf 
+yum update  -y kernel-tools-libs 
+yum update  -y kernel-tools 
+yum update  -y kernel-headers 
+yum update  -y kernel-devel 
+yum update  -y kernel-devel 
+yum update  -y kernel 
+yum update  -y rsyslog
+
+yum  update   -y  avahi-libs  elfutils-default-yama-scope  elfutils-libs  elfutils-libelf   
+yum  update   -y  libX11-common  libX11  tcpdump  
+yum  update   -y  nss-softokn-freebl  
+yum  update   -y  nss-softokn  
+yum  update   -y  nss-util 
+yum  update   -y  nss-tools nss-sysinit   nss
+yum  update   -y  sqlite-devel   sqlite
+yum  update   -y  file-libs file
+yum  update   -y  mariadb-libs
+yum  update   -y  bash  polkit
+yum  update   -y  gettext-libs  gettext
+yum  update   -y  libxml2
+yum  update   -y  gettext-libs 
+yum  update   -y  gettext
+yum  update   -y  curl
+yum  update   -y  libcurl 
+yum  update   -y  cups-libs
+yum  update   -y  cups-client
+yum  update   -y  ibxml2
+yum  update   -y  sudo
+yum  update   -y  bind-license
+yum  update   -y  bind-libs-lite
+yum  update   -y  bind-export-libs 
+
+yum   update   -y  vim-filesystem  vim-minimal vim-enhanced  vim-common
+yum   update   -y patch

+ 54 - 0
all/update/update_commonapi.py

@@ -0,0 +1,54 @@
+#!/usr/bin/python
+# coding: utf-8
+import sys
+from aliyunsdkcore import client
+from aliyunsdkcore.request import CommonRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+import json
+import socket
+
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+SlbId = 'lb-bp1xmaogphakz0l1o13mu'
+
+clt = client.AcsClient (AccessKey, AccessSecret, RegionId)
+Host = socket.gethostname ()
+
+def setServerWeight(BackendServers):
+    request = CommonRequest ()
+    request.set_accept_format ('json')
+    request.set_domain ('slb.aliyuncs.com')
+    request.set_version ('2014-05-15')
+    request.set_method ('POST')
+    request.set_action_name ('SetBackendServers')
+    request.add_query_param ('BackendServers', BackendServers)
+    request.add_query_param ('LoadBalancerId', SlbId)
+    response = clt.do_action (request)
+    return json.loads (response)
+
+def get_host_ip():
+    try:
+        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+        s.connect(('8.8.8.8', 80))
+        ip = s.getsockname()[0]
+    finally:
+        s.close()
+        return ip
+
+if __name__ == "__main__":
+
+    ip_add = []
+    ip_add.append(get_host_ip())
+    request = DescribeInstancesRequest ()
+    request.set_PublicIpAddresses (ip_add)
+    response = clt.do_action_with_exception (request)
+    result = json.loads(response)
+    instance_id = result["Instances"]["Instance"][0]["InstanceId"]
+    back_servers = [{"ServerId": '', "Weight": ''}]
+    back_servers[0]["ServerId"] = instance_id.encode('utf-8')
+    back_servers[0]["Weight"] = sys.argv[1]
+    print(back_servers)
+    setServerWeight ( back_servers)
+
+

+ 84 - 0
all/update/update_longvideoapi.py

@@ -0,0 +1,84 @@
+#!/usr/bin/python
+# coding: utf-8
+import sys
+from aliyunsdkcore import client
+from aliyunsdkcore.request import CommonRequest
+from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest
+from aliyunsdkslb.request.v20140515.DescribeLoadBalancerAttributeRequest import DescribeLoadBalancerAttributeRequest
+import json
+import socket
+
+AccessKey = 'LTAIuPbTPL3LDDKN'
+AccessSecret = 'ORcNedKwWuwVtcq4IRFtUDZgS0b1le'
+RegionId = 'cn-hangzhou'
+slb_id= 'lb-bp1d6hp2ctotgt870miav'
+weight_instance = 0
+# slb_id= 'lb-bp12usgpoh04qsa6pw42r'
+
+clt = client.AcsClient (AccessKey, AccessSecret, RegionId)
+Host = socket.gethostname ()
+
+def setServerWeight(BackendServers):
+    request = CommonRequest ()
+    request.set_accept_format ('json')
+    request.set_domain ('slb.aliyuncs.com')
+    request.set_version ('2014-05-15')
+    request.set_method ('POST')
+    request.set_action_name ('SetBackendServers')
+    request.add_query_param ('BackendServers', BackendServers)
+    request.add_query_param ('LoadBalancerId', slb_id)
+    response = clt.do_action (request)
+    print(response)
+    return json.loads (response)
+
+def get_host_ip():
+    try:
+        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+        s.connect(('8.8.8.8', 80))
+        ip = s.getsockname()[0]
+        # ip = '192.168.204.111'
+    finally:
+        s.close()
+        return ip
+
+
+def  check_slb_weight(instance_id):
+    global   weight_instance
+    request = DescribeLoadBalancerAttributeRequest ()
+    request.set_accept_format ('json')
+    request.set_LoadBalancerId (slb_id)
+    response = clt.do_action_with_exception (request)
+    result= json.loads (response)
+    print(result)
+    if  result["BackendServers"]["BackendServer"]:
+        for i  in  range(len( result["BackendServers"]["BackendServer"])):
+            if   instance_id == result["BackendServers"]["BackendServer"][i]["ServerId"]:
+                weight_instance =  result["BackendServers"]["BackendServer"][i]["Weight"]
+    return weight_instance
+if __name__ == "__main__":
+
+    ip_add = []
+    ip_add.append(get_host_ip())
+    request = DescribeInstancesRequest ()
+    request.set_PublicIpAddresses (ip_add)
+    # request.set_PrivateIpAddresses (ip_add)
+
+
+    response = clt.do_action_with_exception (request)
+    result = json.loads(response)
+    
+    instance_id = result["Instances"]["Instance"][0]["InstanceId"]
+    print(instance_id)
+    back_servers = [{"ServerId": '', "Weight": ''}]
+    back_servers[0]["ServerId"] = instance_id
+    back_servers[0]["Weight"] = sys.argv[1]
+    print(back_servers)
+
+    setServerWeight ( back_servers)
+    weight_instance = check_slb_weight(instance_id)
+    if weight_instance != back_servers[0]["Weight"]:
+        setServerWeight ( back_servers)
+
+
+
+