checkConnection.go 667 B

123456789101112131415161718192021222324252627282930
  1. package db
  2. import "time"
  3. // StartCheckConnection 自动重连数据库(5S), dbType = 0 - oracle; 1 - mysql; 2 - mongodb
  4. func StartCheckConnection(dbType int) {
  5. switch dbType {
  6. case 0: // oracle
  7. for {
  8. if err := GetEngine().Ping(); err != nil {
  9. InitDbEngine()
  10. }
  11. time.Sleep(time.Duration(5000) * time.Millisecond)
  12. }
  13. case 1: // mysql
  14. for {
  15. if err := GetMySQLEngine().Ping(); err != nil {
  16. InitMySQLDbEngine()
  17. }
  18. time.Sleep(time.Duration(5000) * time.Millisecond)
  19. }
  20. case 2: // mongodb
  21. for {
  22. if err := GetMongoDB().Session.Ping(); err != nil {
  23. InitMongoDB()
  24. }
  25. time.Sleep(time.Duration(5000) * time.Millisecond)
  26. }
  27. }
  28. }