from qcloudsms_py import SmsSingleSender from qcloudsms_py.httpclient import HTTPError from qcloudsms_py import SmsMultiSender import os import sys BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录 sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir))) # 引入django配置文件 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yfwlw_pro.settings") # 你的django的settings文件 import django # os.environ.setdefault("DJANGO_SETTINGS_MODULE", # "yfwlw_pro.settings") # project_name 项目名称 django.setup() import json import time import requests import datetime from apps.ReportManage.all_dict import mobile_list, insect_dict_new, qxz_dict from apps.AppInfoManage.models import Equip, Equip_type, CBDphoto, Msg_Send, Msg_Conf, Equip_SimInfo, SCDstatus, CBDstatus, RecentCBDdata, MyUser,JKphoto, BZYdata, QXZstatus,QXZdata,\ QXZstatus_New, QXZ_Conf, QXZ_Default_Conf, MyUser, JKphoto, BZYphoto, QXZdata_New, Group from apps.SimInfo.views import get_siminfo import paho.mqtt.client as mqtt # 短信应用 SDK AppID appid = 1400227496 # SDK AppID 以1400开头 # 短信应用 SDK AppKey appkey = "c9aba961bd30072f1e1b9272077abaea" from requests.auth import HTTPBasicAuth import xlrd, xlwt import random from django.db import transaction import math import os import urllib.parse import urllib.request strtmp = os.popen("systemctl status py_ftp_server.service") #print(type(strtmp)) cmdback = strtmp.read() # print("----->>",cmdback) strtmp1 = os.popen("systemctl status bzy_mqtt.service") #print(type(strtmp)) cmdback1 = strtmp1.read() # print("----->>",cmdback) strtmp2 = os.popen("systemctl status cbd_mqtt.service") #print(type(strtmp)) cmdback2 = strtmp2.read() # print("----->>",cmdback) strtmp3 = os.popen("systemctl status scd_mqtt.service") #print(type(strtmp)) cmdback3 = strtmp3.read() # print("----->>",cmdback) strtmp4 = os.popen("systemctl status ftp_bzy_server.service") #print(type(strtmp)) cmdback4 = strtmp4.read() # print("----->>",cmdback) strtmp5 = os.popen("systemctl status ybq_photo_collect.service") #print(type(strtmp)) cmdback5 = strtmp5.read() # print("cmdback5----->>",cmdback5) strtmp6 = os.popen("systemctl status celery.service") #print(type(strtmp)) cmdback6 = strtmp6.read() # print("----->>",cmdback) def send_alarm(name): # 需要发送短信的手机号码 phone_numbers = ["13733763561","18258845915","15225155092","15538056323"] # phone_numbers = ["13733763561","18258845915"] # 短信模板ID,需要在短信控制台中申请 template_id = 579944 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请 # 签名 sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请 msender = SmsMultiSender(appid, appkey) params = [name,] try: result = msender.send_with_param(86, phone_numbers, template_id, params, sign=sms_sign, extend="", ext="") except HTTPError as e: print(e) except Exception as e: print(e) print(result) print("----发送成功") print("服务异常!!!") return if "failed" in cmdback: print("ftp_cbd异常") send_alarm("ftp_cbd") if "failed" in cmdback1: print("bzy_mqtt异常") send_alarm("bzy_mqtt") if "failed" in cmdback2: print("cbd_mqtt异常") send_alarm("cbd_mqtt") if "failed" in cmdback3: print("scd_mqtt异常") send_alarm("scd_mqtt") if "failed" in cmdback4: print("ftp_bzy异常") send_alarm("ftp_bzy") if "failed" in cmdback5: print("ybq_photo异常") send_alarm("ybq_photo") if "ERROR" in cmdback6: print("celery异常") send_alarm("celery") print("全部正常!")