1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-23 22:45:11 +02:00

сделал mutex_ReConnect

This commit is contained in:
Nikitin Aleksandr
2025-05-15 14:55:39 +03:00
parent 7b05a88a6b
commit 68bfc23cdc
4 changed files with 20 additions and 8 deletions

View File

@@ -33,6 +33,9 @@ var Conn *gorm.DB
// mutex_Connect - защита от многопоточности Connect() // mutex_Connect - защита от многопоточности Connect()
var mutex_Connect = &sync.RWMutex{} var mutex_Connect = &sync.RWMutex{}
// mutex_ReConnect - защита от многопоточности ReConnect()
var mutex_ReConnect = &sync.RWMutex{}
// NeedReconnect - флаг необходимости переподключения // NeedReconnect - флаг необходимости переподключения
var NeedReconnect bool var NeedReconnect bool
@@ -170,8 +173,8 @@ func IsClosed() bool {
// Reconnect повторное подключение к базе данных, если оно отключено // Reconnect повторное подключение к базе данных, если оно отключено
// или полная остановка программы // или полная остановка программы
func Reconnect(err error) { func Reconnect(err error) {
mutex_Connect.Lock() mutex_ReConnect.Lock()
defer mutex_Connect.Unlock() defer mutex_ReConnect.Unlock()
if err == nil { if err == nil {
return return

View File

@@ -34,6 +34,9 @@ var Conn *pgx.Conn
// mutex_Connect - защита от многопоточности Connect() // mutex_Connect - защита от многопоточности Connect()
var mutex_Connect = &sync.RWMutex{} var mutex_Connect = &sync.RWMutex{}
// mutex_ReConnect - защита от многопоточности ReConnect()
var mutex_ReConnect = &sync.RWMutex{}
// Settings хранит все нужные переменные окружения // Settings хранит все нужные переменные окружения
var Settings SettingsINI var Settings SettingsINI
@@ -162,8 +165,8 @@ func IsClosed() bool {
// Reconnect повторное подключение к базе данных, если оно отключено // Reconnect повторное подключение к базе данных, если оно отключено
// или полная остановка программы // или полная остановка программы
func Reconnect(err error) { func Reconnect(err error) {
mutex_Connect.Lock() mutex_ReConnect.Lock()
defer mutex_Connect.Unlock() defer mutex_ReConnect.Unlock()
if err == nil { if err == nil {
return return

View File

@@ -27,6 +27,9 @@ var Conn *sqlx.DB
// mutex_Connect - защита от многопоточности Reconnect() // mutex_Connect - защита от многопоточности Reconnect()
var mutex_Connect = &sync.RWMutex{} var mutex_Connect = &sync.RWMutex{}
// mutex_ReConnect - защита от многопоточности ReConnect()
var mutex_ReConnect = &sync.RWMutex{}
// Settings хранит все нужные переменные окружения // Settings хранит все нужные переменные окружения
var Settings SettingsINI var Settings SettingsINI
@@ -115,8 +118,8 @@ func IsClosed() bool {
// Reconnect повторное подключение к базе данных, если оно отключено // Reconnect повторное подключение к базе данных, если оно отключено
// или полная остановка программы // или полная остановка программы
func Reconnect(err error) { func Reconnect(err error) {
mutex_Connect.Lock() mutex_ReConnect.Lock()
defer mutex_Connect.Unlock() defer mutex_ReConnect.Unlock()
if err == nil { if err == nil {
return return

View File

@@ -42,6 +42,9 @@ var MapConnection = make(map[int64]connections.Connection)
// mutex_Connect - защита от многопоточности Reconnect() // mutex_Connect - защита от многопоточности Reconnect()
var mutex_Connect = &sync.RWMutex{} var mutex_Connect = &sync.RWMutex{}
// mutex_ReConnect - защита от многопоточности ReConnect()
var mutex_ReConnect = &sync.RWMutex{}
// NeedReconnect - флаг необходимости переподключения // NeedReconnect - флаг необходимости переподключения
var NeedReconnect bool var NeedReconnect bool
@@ -142,8 +145,8 @@ func IsClosed(Connection connections.Connection) bool {
// Reconnect повторное подключение к базе данных, если оно отключено // Reconnect повторное подключение к базе данных, если оно отключено
// или полная остановка программы // или полная остановка программы
func Reconnect(Connection connections.Connection, err error) { func Reconnect(Connection connections.Connection, err error) {
mutex_Connect.Lock() mutex_ReConnect.Lock()
defer mutex_Connect.Unlock() defer mutex_ReConnect.Unlock()
if err == nil { if err == nil {
return return