利用go协程做服务保活检测

在写http服务中,有时候我们需要对我们的服务是否还存活做一些检测,在go语言中,利用go的协程可以方便的做保活检测,笔者在此做个举例:

````

func monitor(monitor_ch *chan bool){

// monitor the service dead or not

  postJson :=make(map[string]interface{})

postJson =map[string]interface{}{

"main_desc":":。发作性抽搐5年余。",

      "pre_history":":。患儿于5年余前(生后9个月)首次低热抽搐,表现为睡眠中突然出现双眼频繁眨动,头后仰,口唇青紫,四肢伸直抖动,持续约5分钟缓解,抽搐缓解后疲乏入睡,当时测体温为37.1℃,当地脑电图及头颅CT检查未见异常,考虑热性惊厥,未予特殊处理。此后9个月未见发作。4年5个月前开始无热抽搐,当时腹泻数天后出现,抽搐表现为清醒时出现呼之不应,双眼上翻,下颌节律性抖动,双上肢屈曲握拳抖动,双下肢伸直,持续约十几秒缓解,最长4-5分钟缓解,缓解后疲乏入睡,平均每天发作一次。病后不久因发热,山西儿童医院行腰穿脑脊液检查,压力略高(具体不详母亲口述),余未见异常,考虑脑炎给予抗病毒、退热对症治疗6天后(具体不详)出院。出院后体温升高,上诉发作频次较前增多,但也有发热时不抽,醒睡均可发作,陆续加用丙戊酸钠、开浦兰、妥泰及硝西泮治疗,最长3年余未见发作,但间断出现动作停止,持续约不足1分钟缓解,一天发作1次到数天发作1次不等,近1年逐渐消失。3个月前考虑该患长时间不发作,建议减药,硝西泮、丙戊酸钠、妥泰减停,当减到开浦兰原剂量的一半时,再次出现抽搐,醒睡均有发作,表现同前,持续约数分钟可缓解,平均1天3次,后又将药逐渐加回原药物剂量,仍有发作,加氯硝西泮仍有发作。入院前十余天静脉地塞米松、地西泮治疗,仍有发作,今就诊我院。患儿病前生长发育里程碑正常,病后明显落后于同龄儿。。  患儿近2天发作明显增多,平均每天2-6次,表现同前。睡眠增多。入院时该患有轻微打喷嚏、流涕症状。。    目前正在治疗的疾病及用药:。丙戊酸钠缓释片0.25g,q8h;开浦兰0.5g,q12h;硝西泮早2.5mg,qd;氯硝西泮1mg,qn;妥泰50mg,bid。。",

      "uuid":"1172-1001",

      "department":"pediatric",

      "age":2,

      "age_type":"岁",

      "gender":1}

result, err :=utils.PostUrl("http://0.0.0.0:9901/inference/debug", postJson)

fmt.Println(result)

if err ==nil{

*monitor_ch <-true

  }else{

*monitor_ch <-false

  }

}

````

你可能感兴趣的:(利用go协程做服务保活检测)