From 6bb95b522c20ca2da90b4991233154ac6e356faa Mon Sep 17 00:00:00 2001 From: Nikitin Aleksandr Date: Thu, 15 May 2025 14:08:51 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20defer=20?= =?UTF-8?q?stopapp.GetWaitGroup=5FMain().Done()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- camunda_connect/camunda_connect.go | 5 +++-- camunda_connect2/camunda_connect2.go | 5 +++-- chatgpt_connect/chatgpt_connect.go | 2 +- chatgpt_proxy/chatgpt_proxy.go | 2 +- email/email.go | 2 +- email_imap/email_imap.go | 2 +- fiber_connect/fiber_connect.go | 2 +- kafka_connect/kafka_connect.go | 2 +- minio_connect/minio_connect.go | 5 +++-- mssql_connect/mssql_connect.go | 2 +- mssql_gorm/mssql_gorm.go | 2 +- nats_connect/nats_connect.go | 2 +- postgres_gorm/postgres_gorm.go | 4 ++-- postgres_gorm2/postgres_gorm2.go | 5 +++-- postgres_pgx/postgres_pgx.go | 5 +++-- postgres_sqlx/postgres_sqlx.go | 5 +++-- postgres_stek/postgres_stek.go | 5 +++-- sync_exchange_connect/sync_exchange_connect.go | 2 +- telegram_bot/telegram_bot.go | 2 +- telegram_client/telegram_client.go | 5 ++--- tinkoff_connect/tinkoff_connect.go | 5 +++-- whatsapp_connect/whatsapp_connect.go | 2 +- 22 files changed, 40 insertions(+), 33 deletions(-) diff --git a/camunda_connect/camunda_connect.go b/camunda_connect/camunda_connect.go index 0b0bab5d..0bbd015e 100644 --- a/camunda_connect/camunda_connect.go +++ b/camunda_connect/camunda_connect.go @@ -193,6 +193,7 @@ func WorkFails(err error, client worker.JobClient, job entities.Job) error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -206,7 +207,6 @@ func WaitStop() { // закрываем соединение CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // StartCamunda - необходимые процедуры для подключения к серверу Camunda @@ -325,6 +325,8 @@ func Send_BPMN_File(BPMN_filename string) { func ping_go(HandleJob func(client worker.JobClient, job entities.Job), CAMUNDA_JOBTYPE string) { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -362,5 +364,4 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } diff --git a/camunda_connect2/camunda_connect2.go b/camunda_connect2/camunda_connect2.go index 33872641..1347a0ea 100644 --- a/camunda_connect2/camunda_connect2.go +++ b/camunda_connect2/camunda_connect2.go @@ -184,6 +184,7 @@ func WorkFails(err error, client worker.JobClient, job entities.Job) error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -197,7 +198,6 @@ func WaitStop() { // закрываем соединение CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // StartCamunda - необходимые процедуры для подключения к серверу Camunda @@ -284,6 +284,8 @@ func Send_BPMN_File(BPMN_filename string) { func ping_go(HandleJob func(client worker.JobClient, job entities.Job), CAMUNDA_JOBTYPE string) { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -311,5 +313,4 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } diff --git a/chatgpt_connect/chatgpt_connect.go b/chatgpt_connect/chatgpt_connect.go index 45beb227..6c0c513e 100644 --- a/chatgpt_connect/chatgpt_connect.go +++ b/chatgpt_connect/chatgpt_connect.go @@ -128,6 +128,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -142,7 +143,6 @@ func WaitStop() { if err != nil { log.Error("CloseConnection() error: ", err) } - stopapp.GetWaitGroup_Main().Done() } // Start - необходимые процедуры для подключения к серверу ChatGPT diff --git a/chatgpt_proxy/chatgpt_proxy.go b/chatgpt_proxy/chatgpt_proxy.go index 7baab1f8..fa7013ca 100644 --- a/chatgpt_proxy/chatgpt_proxy.go +++ b/chatgpt_proxy/chatgpt_proxy.go @@ -124,6 +124,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -138,7 +139,6 @@ func WaitStop() { if err != nil { log.Error("CloseConnection() error: ", err) } - stopapp.GetWaitGroup_Main().Done() } // Start - необходимые процедуры для подключения к серверу ChatGPT diff --git a/email/email.go b/email/email.go index 783d1538..12cd26bf 100644 --- a/email/email.go +++ b/email/email.go @@ -227,6 +227,7 @@ func CloseConnection() { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -238,7 +239,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // Start - необходимые процедуры для подключения к серверу email diff --git a/email_imap/email_imap.go b/email_imap/email_imap.go index 711ff81b..0e675b4e 100644 --- a/email_imap/email_imap.go +++ b/email_imap/email_imap.go @@ -257,6 +257,7 @@ func ForwardMessage(msg *imap.Message, email_send_to string) error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -268,7 +269,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // Start - необходимые процедуры для подключения к серверу email imap diff --git a/fiber_connect/fiber_connect.go b/fiber_connect/fiber_connect.go index 7c20c05b..6932c997 100644 --- a/fiber_connect/fiber_connect.go +++ b/fiber_connect/fiber_connect.go @@ -102,6 +102,7 @@ func Listen_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -113,7 +114,6 @@ func WaitStop() { //закрываем соединение CloseConnection() - stopapp.GetWaitGroup_Main().Done() } func GetHost() string { diff --git a/kafka_connect/kafka_connect.go b/kafka_connect/kafka_connect.go index 7680f3fa..8a445db8 100644 --- a/kafka_connect/kafka_connect.go +++ b/kafka_connect/kafka_connect.go @@ -169,6 +169,7 @@ func CloseConnection() { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -181,7 +182,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // FillSettings загружает переменные окружения в структуру из файла или из переменных окружения diff --git a/minio_connect/minio_connect.go b/minio_connect/minio_connect.go index 04faae66..5a46021d 100644 --- a/minio_connect/minio_connect.go +++ b/minio_connect/minio_connect.go @@ -182,6 +182,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -196,7 +197,6 @@ func WaitStop() { if err != nil { log.Error("CloseConnection() error: ", err) } - stopapp.GetWaitGroup_Main().Done() } // StartMinio - необходимые процедуры для подключения к серверу Minio @@ -273,6 +273,8 @@ func FillSettings() { func ping_go() { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -299,7 +301,6 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } // CreateBucketCtx_err -создание бакета (раздела) хранения файлов diff --git a/mssql_connect/mssql_connect.go b/mssql_connect/mssql_connect.go index 9a66a1c9..e94569a1 100644 --- a/mssql_connect/mssql_connect.go +++ b/mssql_connect/mssql_connect.go @@ -190,6 +190,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -202,7 +203,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // StartDB - делает соединение с БД, отключение и др. diff --git a/mssql_gorm/mssql_gorm.go b/mssql_gorm/mssql_gorm.go index ef95eabb..885d2624 100644 --- a/mssql_gorm/mssql_gorm.go +++ b/mssql_gorm/mssql_gorm.go @@ -204,6 +204,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -216,7 +217,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // StartDB - делает соединение с БД, отключение и др. diff --git a/nats_connect/nats_connect.go b/nats_connect/nats_connect.go index bd9bd6fa..c5a45170 100644 --- a/nats_connect/nats_connect.go +++ b/nats_connect/nats_connect.go @@ -131,6 +131,7 @@ func CloseConnection() { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -139,7 +140,6 @@ func WaitStop() { CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // FillSettings загружает переменные окружения в структуру из файла или из переменных окружения diff --git a/postgres_gorm/postgres_gorm.go b/postgres_gorm/postgres_gorm.go index 64aecf4f..bea780e3 100644 --- a/postgres_gorm/postgres_gorm.go +++ b/postgres_gorm/postgres_gorm.go @@ -262,6 +262,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -274,7 +275,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // StartDB - делает соединение с БД, отключение и др. @@ -446,6 +446,7 @@ func GetConnection_WithApplicationName(ApplicationName string) *gorm.DB { // ping_go - делает пинг каждые 60 секунд, и реконнект func ping_go() { //var err error + defer stopapp.GetWaitGroup_Main().Done() ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -490,7 +491,6 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } //// RawMultipleSQL - выполняет текст запроса, отдельно для каждого запроса diff --git a/postgres_gorm2/postgres_gorm2.go b/postgres_gorm2/postgres_gorm2.go index 1d842e99..2e1d133c 100644 --- a/postgres_gorm2/postgres_gorm2.go +++ b/postgres_gorm2/postgres_gorm2.go @@ -264,6 +264,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -276,7 +277,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // StartDB - делает соединение с БД, отключение и др. @@ -444,6 +444,8 @@ func GetConnection_WithApplicationName(ApplicationName string) *gorm.DB { func ping_go() { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -474,7 +476,6 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } //// RawMultipleSQL - выполняет текст запроса, отдельно для каждого запроса diff --git a/postgres_pgx/postgres_pgx.go b/postgres_pgx/postgres_pgx.go index 8cde93da..96e0f31b 100644 --- a/postgres_pgx/postgres_pgx.go +++ b/postgres_pgx/postgres_pgx.go @@ -244,6 +244,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -255,7 +256,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // StartDB - делает соединение с БД, отключение и др. @@ -358,6 +358,8 @@ func FillSettings() { func ping_go() { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -418,7 +420,6 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } // GetConnection - возвращает соединение к нужной базе данных diff --git a/postgres_sqlx/postgres_sqlx.go b/postgres_sqlx/postgres_sqlx.go index cda58d1e..f4d48405 100644 --- a/postgres_sqlx/postgres_sqlx.go +++ b/postgres_sqlx/postgres_sqlx.go @@ -200,6 +200,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -214,7 +215,6 @@ func WaitStop() { if err != nil { log.Error("CloseConnection() error: ", err) } - stopapp.GetWaitGroup_Main().Done() } // StartDB - делает соединение с БД, отключение и др. @@ -304,6 +304,8 @@ func FillSettings() { func ping_go() { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -334,5 +336,4 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } diff --git a/postgres_stek/postgres_stek.go b/postgres_stek/postgres_stek.go index 53ec5116..94487a37 100644 --- a/postgres_stek/postgres_stek.go +++ b/postgres_stek/postgres_stek.go @@ -260,6 +260,7 @@ func CloseConnection_err(Connection connections.Connection) error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -272,7 +273,6 @@ func WaitStop() { // CloseConnectionAll() - stopapp.GetWaitGroup_Main().Done() } // StartDB - делает соединение с БД, отключение и др. @@ -357,6 +357,8 @@ func GetConnection(Connection connections.Connection) *gorm.DB { func ping_go() { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -394,5 +396,4 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } diff --git a/sync_exchange_connect/sync_exchange_connect.go b/sync_exchange_connect/sync_exchange_connect.go index 6476e823..f7db5297 100644 --- a/sync_exchange_connect/sync_exchange_connect.go +++ b/sync_exchange_connect/sync_exchange_connect.go @@ -119,6 +119,7 @@ func CloseConnection() { // WaitStop - ожидает отмену глобального контекста или сигнала завершения приложения func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -130,7 +131,6 @@ func WaitStop() { //закрываем соединение CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // SendResponseError - Отправляет ответ в NATS SyncExchange diff --git a/telegram_bot/telegram_bot.go b/telegram_bot/telegram_bot.go index cfaad66d..568fb9b5 100644 --- a/telegram_bot/telegram_bot.go +++ b/telegram_bot/telegram_bot.go @@ -242,6 +242,7 @@ func CloseConnection_err() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -254,7 +255,6 @@ func WaitStop() { // CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // Start_ctx - необходимые процедуры для подключения к серверу Telegram diff --git a/telegram_client/telegram_client.go b/telegram_client/telegram_client.go index b60fffe5..2abb5a2c 100644 --- a/telegram_client/telegram_client.go +++ b/telegram_client/telegram_client.go @@ -755,7 +755,8 @@ func FindMessageByID(ctx context.Context, id int) (*tg.Message, error) { // WaitStop - ожидает отмену глобального контекста func WaitStop() { - //stopapp.GetWaitGroup_Main().Add(1) + defer stopapp.GetWaitGroup_Main().Done() + select { case <-contextmain.GetContext().Done(): log.Warn("Context app is canceled.") @@ -767,8 +768,6 @@ func WaitStop() { // CloseConnection() - // - stopapp.GetWaitGroup_Main().Done() } // CloseConnection - остановка работы клиента Телеграм diff --git a/tinkoff_connect/tinkoff_connect.go b/tinkoff_connect/tinkoff_connect.go index fe5341f4..014e7a39 100644 --- a/tinkoff_connect/tinkoff_connect.go +++ b/tinkoff_connect/tinkoff_connect.go @@ -150,6 +150,7 @@ func FillSettings() error { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -161,7 +162,6 @@ func WaitStop() { // закрываем соединение CloseConnection() - stopapp.GetWaitGroup_Main().Done() } // Start - необходимые процедуры для запуска сервера Tinkoff-GRPC @@ -224,6 +224,8 @@ func CloseConnection_err() error { func ping_go() { var err error + defer stopapp.GetWaitGroup_Main().Done() + ticker := time.NewTicker(60 * time.Second) defer ticker.Stop() @@ -255,7 +257,6 @@ loop: } } - stopapp.GetWaitGroup_Main().Done() } // GetTimeoutSeconds - возвращает время ожидания ответа diff --git a/whatsapp_connect/whatsapp_connect.go b/whatsapp_connect/whatsapp_connect.go index 2cfa18c1..d55f5a3d 100644 --- a/whatsapp_connect/whatsapp_connect.go +++ b/whatsapp_connect/whatsapp_connect.go @@ -231,6 +231,7 @@ func StopWhatsApp() { // WaitStop - ожидает отмену глобального контекста func WaitStop() { + defer stopapp.GetWaitGroup_Main().Done() select { case <-contextmain.GetContext().Done(): @@ -242,7 +243,6 @@ func WaitStop() { // StopWhatsApp() - stopapp.GetWaitGroup_Main().Done() } // ParseJID parses a JID out of the given string. It supports both regular and AD JIDs.