プロジェクトの生存モニタリング
データベース監視データのクエリ
select
id, entry_name, ip,port, ver_url, phone,open_id,alarm_state ,state,release_start_time,release_end_time, create_Time, update_Time, delete_Time, flag
from mhaqjk.mhaq_survival
where flag = 0 and NOW() NOT BETWEEN release_start_time AND release_end_time
urlの呼び出しを開始し、応答ステータスコードコードを返します。
Redisキャッシュを照会し、サイズ(報告されたエラーの数)を返します
Redisにエラーがない場合、サイズはnullです
応答ステータスコードが失敗しました
redisにサイズエラーレポート時間がなく、プロジェクトアドレスへのアクセスに失敗した場合(アラームステータスが0)、WeChat
を送信してredisを1に設定します。
それ以外の場合(redisにエラーレポート時間はありませんが、プロジェクトアドレスにアクセスできます)、設定します。 redisは0です。
エラーレポートの数がRedisにすでに存在する場合、サイズはnullではありません
プロジェクトアドレスの応答が失敗しました
(アラーム情報はすでにRedisに存在し、プロジェクトアドレスに到達できません)アラームステータスは0であり、発行され微信通知
ます。
(アラームの数が1回または3回未満の場合)、アラームステータスは0であり、発行され短信通知
ます。
そうである場合(アラーム数のサイズが33より大きい場合、30分後もエラーが報告されます)、再度発行し短信通知
、
Redisを1に設定して(つまり、Redisアラームの数のサイズをリセットして)、データを更新します。
そして、プラットフォームのサバイバルステータスステータスを0に設定し、データとRedis + 1で報告されたエラーの数を更新します。
成功した応答
(アラームサイズの数はRedisにすでに存在しますが、今回は応答が成功します。)Redisのアラーム数を0にリセットし、プラットフォームの存続ステータスを1に設定して、データベースを更新します。
(プラットフォームが利用できない限り、WeChatを送信し、最初の3分でテキストメッセージを送信し、30分後に再度テキストメッセージを送信します)
SMSを送信
パラメータ:MhaqSurvival
アラームステータスが1の
場合、SMSを送信せずに直接戻ります。それ以外の場合は、パラメータMapを作成し
ます。templateParamsMapパラメータ:
String content="平台:"+survival.getEntryName()+":"+survival.getVerUrl()+"失效";
携帯電話番号の取得String getPhones = survival.getPhone();
新しい情報セットを作成します。
取得した携帯電話番号が空かどうかを判断します。空でない場合は、合格し,
、携帯電話番号の文字列を切り取り、
新しいログエンティティクラスMhaqInfoLog infoLog = new MhaqInfoLog();
レコードを作成してログ情報を送信します。
次にSMSを送信します。パラメータは携帯電話番号です。 templateParamsMap
WeChatを送信する
アラームステータスが1の場合、発行せずに直接戻ります。
パラメータは次のとおりMhaqSurvival
ですgetOpenId
。get、get url getVerUrl
、
split OpenID ,
、
get time time
、OpenId配列をループし、新しいparasコレクションを作成します。
List<TemplateParam> paras=new ArrayList<TemplateParam>();
paras.add(new TemplateParam("first","百事通加盟平台存活预警:","#930093"));
paras.add(new TemplateParam("time",time,"#0044BB"));
paras.add(new TemplateParam("ip_list",verUrl,"#0044BB"));
paras.add(new TemplateParam("sec_type",content,"#0044BB"));
monitorService.sendMsgByWeiXing(paras, openId, time);
テンプレートパラメータを作成し、WeChatに送信します。