# @Author : Rocky # @File : InitController.py # @Time : 2023/4/11 17:26 import ssl from django.http import HttpResponse from django.views import View from Model.models import Device_Info, SceneLog from Object.RedisObject import RedisObject from Object.ResponseObject import ResponseObject import redis class InitView(View): def get(self, request, *args, **kwargs): request.encoding = 'utf-8' operation = kwargs.get('operation') return self.validation(request.GET, operation) def post(self, request, *args, **kwargs): request.encoding = 'utf-8' operation = kwargs.get('operation') return self.validation(request.POST, operation) def validation(self, request_dict, operation): if operation == 'health-check': # 负载均衡器健康检测接口 return self.health_check(request_dict) elif operation == 'oci_redis_test': return self.oci_redis_test(request_dict) @staticmethod def health_check(request_dict): try: redis_obj = RedisObject() redis_obj.set_data('health_check', 1) response = ResponseObject() Device_Info.objects.filter().values('id').first() SceneLog.objects.filter().values('id').first() return response.json(0) except Exception as e: return HttpResponse(repr(e), status=500) @staticmethod def oci_redis_test(request_dict): try: key = request_dict.get('key', None) value = request_dict.get('value', None) response = ResponseObject() redis_host = 'amaaaaaayszequiamxr7cdpparig3ptmytvde5vvnz6n7gceo4232sbhhlsa-p.redis.us-phoenix-1.oci.oraclecloud.com' # 创建Redis连接 pool = redis.ConnectionPool(host=redis_host, ssl=True, ssl_cert_reqs=None) redis_client = redis.Redis(connection_pool=pool) # redis_client = redis.StrictRedis( # host=redis_host, # ssl=True, # ssl_cert_reqs=None # ) redis_client.set(key, value) redis_value = redis_client.get(key) res = { 'redis_value': redis_value } return response.json(0, res) except Exception as e: return HttpResponse(repr(e), status=500)