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

сделал Start_ctx()

This commit is contained in:
Nikitin Aleksandr
2024-09-27 16:32:56 +03:00
parent 4a2270cca1
commit 5de43d6e9b
20 changed files with 239 additions and 129 deletions

View File

@@ -78,11 +78,17 @@ func FillSettings() {
// Connect_err - подключается к серверу Camunda, паника при ошибке // Connect_err - подключается к серверу Camunda, паника при ошибке
func Connect() { func Connect() {
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panic("Connect_err() error: ", err) log.Panic("CAMUNDA Connect_err() ip: ", Settings.CAMUNDA_HOST, " port: ", Settings.CAMUNDA_PORT, " error: ", err)
} else { } else {
log.Info("CAMUNDA connected, ip: ", Settings.CAMUNDA_HOST, " port: ", Settings.CAMUNDA_PORT) log.Info("CAMUNDA connected, ip: ", Settings.CAMUNDA_HOST, " port: ", Settings.CAMUNDA_PORT)
} }
} }
// Connect_err - подключается к серверу Camunda, возвращает ошибку // Connect_err - подключается к серверу Camunda, возвращает ошибку
@@ -213,20 +219,12 @@ func WaitStop() {
// StartCamunda - необходимые процедуры для подключения к серверу Camunda // StartCamunda - необходимые процедуры для подключения к серверу Camunda
func StartCamunda(HandleJob func(client worker.JobClient, job entities.Job), CAMUNDA_JOBTYPE string, BPMN_filename string) { func StartCamunda(HandleJob func(client worker.JobClient, job entities.Job), CAMUNDA_JOBTYPE string, BPMN_filename string) {
// var err error var err error
Connect()
JobWorker = Client.NewJobWorker().JobType(CAMUNDA_JOBTYPE).Handler(HandleJob).Open()
Send_BPMN_File(BPMN_filename)
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
stopapp.GetWaitGroup_Main().Add(1)
go ping_go()
ctx := contextmain.GetContext()
WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup, HandleJob, CAMUNDA_JOBTYPE, BPMN_filename)
LogInfo_Connected(err)
} }
// Start_ctx - необходимые процедуры для подключения к серверу Camunda // Start_ctx - необходимые процедуры для подключения к серверу Camunda

View File

@@ -45,6 +45,12 @@ type SettingsINI struct {
func Connect() { func Connect() {
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("ChatGPT Connect_err() api_key: ", Settings.CHATGPT_API_KEY, " Error: ", err) log.Panicln("ChatGPT Connect_err() api_key: ", Settings.CHATGPT_API_KEY, " Error: ", err)
} else { } else {
@@ -141,10 +147,12 @@ func WaitStop() {
// Start - необходимые процедуры для подключения к серверу ChatGPT // Start - необходимые процедуры для подключения к серверу ChatGPT
func Start() { func Start() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -46,6 +46,12 @@ type SettingsINI struct {
func Connect() { func Connect() {
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("ChatGPT Connect_err() api_key: ", Settings.CHATGPT_API_KEY, " Error: ", err) log.Panicln("ChatGPT Connect_err() api_key: ", Settings.CHATGPT_API_KEY, " Error: ", err)
} else { } else {
@@ -137,10 +143,12 @@ func WaitStop() {
// Start - необходимые процедуры для подключения к серверу ChatGPT // Start - необходимые процедуры для подключения к серверу ChatGPT
func Start() { func Start() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -142,6 +142,12 @@ func SendEmail(email_send_to string, text string, subject string, MassAttachment
// Connect - подключение клиента Email // Connect - подключение клиента Email
func Connect() { func Connect() {
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("Connect() error: ", err) log.Panicln("Connect() error: ", err)
} else { } else {
@@ -237,11 +243,12 @@ func WaitStop() {
// Start - необходимые процедуры для подключения к серверу email // Start - необходимые процедуры для подключения к серверу email
func Start() { func Start() {
LoadEnv() var err error
Connect()
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -53,6 +53,12 @@ type Attachment struct {
// Connect - подключение клиента Email // Connect - подключение клиента Email
func Connect() { func Connect() {
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("Connect() error: ", err) log.Panicln("Connect() error: ", err)
} else { } else {
@@ -267,11 +273,12 @@ func WaitStop() {
// Start - необходимые процедуры для подключения к серверу email imap // Start - необходимые процедуры для подключения к серверу email imap
func Start() { func Start() {
LoadEnv() var err error
Connect()
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -44,6 +44,12 @@ func Connect() {
go Listen() go Listen()
LogInfo_Connected()
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected() {
log.Info("Fiber connected. OK. host: ", Settings.WEBSERVER_HOST, ":", Settings.WEBSERVER_PORT) log.Info("Fiber connected. OK. host: ", Settings.WEBSERVER_HOST, ":", Settings.WEBSERVER_PORT)
} }
@@ -116,13 +122,12 @@ func GetHost() string {
// Start - запускает работу веб-сервера // Start - запускает работу веб-сервера
// Graceful shutdown только для тех кто пользуется этим репозиторием для старта и останова // Graceful shutdown только для тех кто пользуется этим репозиторием для старта и останова
func Start() { func Start() {
if Client == nil { //var err error
FillSettings()
Connect()
}
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
Start_ctx(&ctx, WaitGroup)
LogInfo_Connected()
} }
@@ -137,8 +142,15 @@ func Start_ctx(ctx *context.Context, WaitGroup *sync.WaitGroup) {
stopapp.SetWaitGroup_Main(WaitGroup) stopapp.SetWaitGroup_Main(WaitGroup)
// //
Start() if Client == nil {
FillSettings()
Connect()
}
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
//return err
} }
// CloseConnection - закрывает соединения веб-сервера, возвращает ошибку // CloseConnection - закрывает соединения веб-сервера, возвращает ошибку

View File

@@ -35,11 +35,17 @@ func Connect() {
var err error var err error
err = Connect_err() err = Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("KAFKA Connect() host: ", Settings.KAFKA_HOST, " error: ", err) log.Panicln("KAFKA Connect() host: ", Settings.KAFKA_HOST, " error: ", err)
} else { } else {
log.Info("KAFKA Connect() OK, host: ", Settings.KAFKA_HOST) log.Info("KAFKA Connect() OK, host: ", Settings.KAFKA_HOST)
} }
} }
// Connect_err - подключается к серверу Nats и возвращает ошибку // Connect_err - подключается к серверу Nats и возвращает ошибку
@@ -61,10 +67,12 @@ func Connect_err() error {
// StartKafka - необходимые процедуры для подключения к серверу Kafka // StartKafka - необходимые процедуры для подключения к серверу Kafka
func StartKafka() { func StartKafka() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -34,7 +34,25 @@ const TEXT_OK = `{"status":"ok"}`
// Start - запуск работы веб-сервера с функцией Liveness // Start - запуск работы веб-сервера с функцией Liveness
func Start() { func Start() {
//var err error
ctx := contextmain.GetContext()
WaitGroup := stopapp.GetWaitGroup_Main()
Start_ctx(&ctx, WaitGroup)
}
// Start_ctx - запускает работу веб-сервера с функций liveness
// Свой контекст и WaitGroup нужны для остановки работы сервиса Graceful shutdown
// Для тех кто пользуется этим репозиторием для старта и останова сервиса можно просто Start()
func Start_ctx(ctx *context.Context, WaitGroup *sync.WaitGroup) {
//var err error
//запомним к себе контекст и WaitGroup
contextmain.Ctx = ctx
stopapp.SetWaitGroup_Main(WaitGroup)
//
FillSettings() FillSettings()
fiber_connect.Settings.WEBSERVER_HOST = Settings.LIVENESS_HOST fiber_connect.Settings.WEBSERVER_HOST = Settings.LIVENESS_HOST
fiber_connect.Settings.WEBSERVER_PORT = Settings.LIVENESS_PORT fiber_connect.Settings.WEBSERVER_PORT = Settings.LIVENESS_PORT
@@ -51,22 +69,7 @@ func Start() {
log.Info("Liveness start OK. URL: ", LIVENESS_URL) log.Info("Liveness start OK. URL: ", LIVENESS_URL)
} //return err
// Start_ctx - запускает работу веб-сервера с функций liveness
// Свой контекст и WaitGroup нужны для остановки работы сервиса Graceful shutdown
// Для тех кто пользуется этим репозиторием для старта и останова сервиса можно просто Start()
func Start_ctx(ctx *context.Context, WaitGroup *sync.WaitGroup) error {
var err error
//запомним к себе контекст и WaitGroup
contextmain.Ctx = ctx
stopapp.SetWaitGroup_Main(WaitGroup)
//
Start()
return err
} }
// Handlerliveness - обрабатывает GET запросы // Handlerliveness - обрабатывает GET запросы

View File

@@ -52,6 +52,12 @@ func Connect() {
//ping.CheckPort(Settings.MINIO_HOST, Settings.MINIO_PORT) //ping.CheckPort(Settings.MINIO_HOST, Settings.MINIO_PORT)
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("Minio Connect_err() host: ", Settings.MINIO_HOST, ", Error: ", err) log.Panicln("Minio Connect_err() host: ", Settings.MINIO_HOST, ", Error: ", err)
} else { } else {
@@ -195,13 +201,12 @@ func WaitStop() {
// StartMinio - необходимые процедуры для подключения к серверу Minio // StartMinio - необходимые процедуры для подключения к серверу Minio
func StartMinio() { func StartMinio() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
stopapp.GetWaitGroup_Main().Add(1) LogInfo_Connected(err)
go ping_go()
} }

View File

@@ -45,6 +45,12 @@ func Connect() {
var err error var err error
err = Connect_err() err = Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("MSSQL unable connect, host: ", Settings.MSSQL_ADDRESS, ", Error: ", err) log.Panicln("MSSQL unable connect, host: ", Settings.MSSQL_ADDRESS, ", Error: ", err)
} else { } else {
@@ -201,10 +207,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др. // StartDB - делает соединение с БД, отключение и др.
func StartDB() { func StartDB() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -49,6 +49,12 @@ func Connect() {
var err error var err error
err = Connect_err() err = Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("MSSQL GORM unable connect, host: ", Settings.MSSQL_ADDRESS, ", Error: ", err) log.Panicln("MSSQL GORM unable connect, host: ", Settings.MSSQL_ADDRESS, ", Error: ", err)
} else { } else {
@@ -215,10 +221,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др. // StartDB - делает соединение с БД, отключение и др.
func StartDB() { func StartDB() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -36,11 +36,17 @@ func Connect() {
var err error var err error
err = Connect_err() err = Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("NATS Connect() error: ", err) log.Panicln("NATS Connect() error: ", err)
} else { } else {
log.Info("NATS Connect() ok ") log.Info("NATS Connect() ok ")
} }
} }
// Connect_err - подключается к серверу Nats и возвращает ошибку // Connect_err - подключается к серверу Nats и возвращает ошибку
@@ -64,10 +70,12 @@ func Connect_err() error {
// StartNats - необходимые процедуры для подключения к серверу Nats // StartNats - необходимые процедуры для подключения к серверу Nats
func StartNats() { func StartNats() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
LogInfo_Connected(err)
} }

View File

@@ -45,10 +45,17 @@ type Message struct {
// Connect - подключается к серверу Nats-sync_exchange // Connect - подключается к серверу Nats-sync_exchange
func Connect() { func Connect() {
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("Can not connect NATS: ", nats_connect.Settings.NATS_HOST, ", error: ", err) log.Panicln("Can not connect NATS: ", nats_connect.Settings.NATS_HOST, ", error: ", err)
} else {
log.Info("NATS liveness connected. host: ", nats_connect.Settings.NATS_HOST, ":", nats_connect.Settings.NATS_PORT, ", topic: ", Settings.NATS_LIVENESS_TOPIC)
} }
log.Info("NATS liveness connected. host: ", nats_connect.Settings.NATS_HOST, ":", nats_connect.Settings.NATS_PORT, ", topic: ", Settings.NATS_LIVENESS_TOPIC)
} }
// Connect_err - подключается к серверу Nats-sync_exchange и возвращает ошибку // Connect_err - подключается к серверу Nats-sync_exchange и возвращает ошибку
@@ -191,24 +198,10 @@ func CheckSettingsNATS() error {
func Start(ServiceName string) { func Start(ServiceName string) {
var err error var err error
// ctx := contextmain.GetContext()
err = CheckSettingsNATS() WaitGroup := stopapp.GetWaitGroup_Main()
if err != nil { err = Start_ctx(&ctx, WaitGroup, ServiceName)
return LogInfo_Connected(err)
}
//
FillSettings(ServiceName)
Connect()
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
Ticker = time.NewTicker(5 * time.Second)
stopapp.GetWaitGroup_Main().Add(1)
go SendMessages_go()
} }

View File

@@ -53,8 +53,14 @@ func Connect() {
port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT) port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT)
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("POSTGRES sqlx Connect_err() host: ", Settings.DB_HOST, ", Error: ", err) log.Panic("POSTGRES sqlx Connect_err() host: ", Settings.DB_HOST, ", Error: ", err)
} else { } else {
log.Info("POSTGRES sqlx connected. host: ", Settings.DB_HOST, ", base name: ", Settings.DB_NAME, ", schema: ", Settings.DB_SCHEMA) log.Info("POSTGRES sqlx connected. host: ", Settings.DB_HOST, ", base name: ", Settings.DB_NAME, ", schema: ", Settings.DB_SCHEMA)
} }
@@ -213,13 +219,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др. // StartDB - делает соединение с БД, отключение и др.
func StartDB() { func StartDB() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
stopapp.GetWaitGroup_Main().Add(1) LogInfo_Connected(err)
go ping_go()
} }

View File

@@ -62,6 +62,12 @@ func Connect() {
port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT) port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT)
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("POSTGRES gorm Connect() to database host: ", Settings.DB_HOST, ", Error: ", err) log.Panicln("POSTGRES gorm Connect() to database host: ", Settings.DB_HOST, ", Error: ", err)
} else { } else {
@@ -278,13 +284,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др. // StartDB - делает соединение с БД, отключение и др.
func StartDB() { func StartDB() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
stopapp.GetWaitGroup_Main().Add(1) LogInfo_Connected(err)
go ping_go()
} }

View File

@@ -63,6 +63,12 @@ func Connect() {
port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT) port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT)
err := Connect_err() err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("POSTGRES pgx Connect() to database host: ", Settings.DB_HOST, ", Error: ", err) log.Panicln("POSTGRES pgx Connect() to database host: ", Settings.DB_HOST, ", Error: ", err)
} else { } else {
@@ -241,13 +247,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др. // StartDB - делает соединение с БД, отключение и др.
func StartDB() { func StartDB() {
Connect() var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup)
stopapp.GetWaitGroup_Main().Add(1) LogInfo_Connected(err)
go ping_go()
} }

View File

@@ -57,6 +57,12 @@ func Connect(Connection connections.Connection) {
port_checker.CheckPort(Connection.Server, Connection.Port) port_checker.CheckPort(Connection.Server, Connection.Port)
err := Connect_err(Connection) err := Connect_err(Connection)
LogInfo_Connected(err, Connection)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error, Connection connections.Connection) {
if err != nil { if err != nil {
log.Panicln("POSTGRES gorm stack Connect() to database host: ", Connection.Server, ", Error: ", err) log.Panicln("POSTGRES gorm stack Connect() to database host: ", Connection.Server, ", Error: ", err)
} else { } else {
@@ -271,13 +277,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др. // StartDB - делает соединение с БД, отключение и др.
func StartDB(Connection connections.Connection) { func StartDB(Connection connections.Connection) {
Connect(Connection) var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup, Connection)
stopapp.GetWaitGroup_Main().Add(1) LogInfo_Connected(err, Connection)
go ping_go()
} }

View File

@@ -15,11 +15,17 @@ import (
// Connect - подключение к NATS SyncExchange // Connect - подключение к NATS SyncExchange
func Connect(ServiceName string) { func Connect(ServiceName string) {
err := Connect_err(ServiceName) err := Connect_err(ServiceName)
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panicln("Can not start NATS, server: ", nats_connect.Settings.NATS_HOST, " error: ", err) log.Panicln("Can not start NATS, server: ", nats_connect.Settings.NATS_HOST, " error: ", err)
} else { } else {
log.Info("NATS connected. OK., server: ", nats_connect.Settings.NATS_HOST, ":", nats_connect.Settings.NATS_PORT, " error: ", err) log.Info("NATS connected. OK., server: ", nats_connect.Settings.NATS_HOST, ":", nats_connect.Settings.NATS_PORT, " error: ", err)
} }
} }
// Connect_err - подключение к NATS SyncExchange // Connect_err - подключение к NATS SyncExchange
@@ -37,12 +43,12 @@ func Connect_err(ServiceName string) error {
// Start - необходимые процедуры для подключения к серверу Nats SyncExchange // Start - необходимые процедуры для подключения к серверу Nats SyncExchange
func Start(ServiceName string) { func Start(ServiceName string) {
//var err error var err error
Connect(ServiceName) ctx := contextmain.GetContext()
WaitGroup := stopapp.GetWaitGroup_Main()
stopapp.GetWaitGroup_Main().Add(1) err = Start_ctx(&ctx, WaitGroup, ServiceName)
go WaitStop() LogInfo_Connected(err)
} }

View File

@@ -599,12 +599,18 @@ func TimeLimit() {
// Connect подключение к серверу Телеграм, паника при ошибке // Connect подключение к серверу Телеграм, паника при ошибке
func Connect(func_OnNewMessage func(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, Peer1 storage.Peer) error) { func Connect(func_OnNewMessage func(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, Peer1 storage.Peer) error) {
err := Connect_err(func_OnNewMessage) err := Connect_err(func_OnNewMessage)
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
TextError := fmt.Sprint("Telegram connection: ", Settings.TELEGRAM_PHONE_FROM, ", error: ", err) TextError := fmt.Sprint("Telegram connection: ", Settings.TELEGRAM_PHONE_FROM, ", error: ", err)
log.Panic(TextError) log.Panic(TextError)
} else { } else {
log.Info("Telegram connected: ", Settings.TELEGRAM_PHONE_FROM) log.Info("Telegram connected: ", Settings.TELEGRAM_PHONE_FROM)
} }
} }
// Connect_err подключение к серверу Телеграм // Connect_err подключение к серверу Телеграм
@@ -810,15 +816,12 @@ func AsFloodWait(err error) (d int, ok bool) {
// StartTelegram - подключается к телеграмму, запускает остановку приложения. // StartTelegram - подключается к телеграмму, запускает остановку приложения.
// func_OnNewMessage - функция для приёма новых сообщений // func_OnNewMessage - функция для приёма новых сообщений
func StartTelegram(func_OnNewMessage func(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, Peer1 storage.Peer) error) { func StartTelegram(func_OnNewMessage func(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, Peer1 storage.Peer) error) {
CreateTelegramClient(func_OnNewMessage) var err error
err := Connect_err(func_OnNewMessage) ctx := contextmain.GetContext()
if err != nil { WaitGroup := stopapp.GetWaitGroup_Main()
log.Panic("Can not login to telegram ! Error: ", err) err = Start_ctx(&ctx, WaitGroup, func_OnNewMessage)
} LogInfo_Connected(err)
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
} }

View File

@@ -153,11 +153,17 @@ func eventHandler_test(evt interface{}) {
// Connect - создание клиента Whatsapp // Connect - создание клиента Whatsapp
func Connect(eventHandler func(evt interface{})) { func Connect(eventHandler func(evt interface{})) {
err := Connect_err(eventHandler) err := Connect_err(eventHandler)
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil { if err != nil {
log.Panic("WHATSAPP Connect_err() error: ", err) log.Panic("WHATSAPP Connect_err() error: ", err)
} else { } else {
log.Info("WHATSAPP connected. Phone from: ", Settings.WHATSAPP_PHONE_FROM) log.Info("WHATSAPP connected. Phone from: ", Settings.WHATSAPP_PHONE_FROM)
} }
} }
// Connect_err - создание клиента Whatsapp, и возвращает ошибку // Connect_err - создание клиента Whatsapp, и возвращает ошибку
@@ -305,10 +311,12 @@ func FillSettings() {
// Start - необходимые процедуры для подключения к серверу Whatsapp // Start - необходимые процедуры для подключения к серверу Whatsapp
func Start(eventHandler func(evt interface{})) { func Start(eventHandler func(evt interface{})) {
Connect(eventHandler) var err error
stopapp.GetWaitGroup_Main().Add(1) ctx := contextmain.GetContext()
go WaitStop() WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup, eventHandler)
LogInfo_Connected(err)
} }