1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-26 23:10:42 +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, паника при ошибке
func Connect() {
err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
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 {
log.Info("CAMUNDA connected, ip: ", Settings.CAMUNDA_HOST, " port: ", Settings.CAMUNDA_PORT)
}
}
// Connect_err - подключается к серверу Camunda, возвращает ошибку
@@ -213,20 +219,12 @@ func WaitStop() {
// StartCamunda - необходимые процедуры для подключения к серверу Camunda
func StartCamunda(HandleJob func(client worker.JobClient, job entities.Job), CAMUNDA_JOBTYPE string, BPMN_filename string) {
// 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()
var err error
ctx := contextmain.GetContext()
WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup, HandleJob, CAMUNDA_JOBTYPE, BPMN_filename)
LogInfo_Connected(err)
}
// Start_ctx - необходимые процедуры для подключения к серверу Camunda

View File

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

View File

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

View File

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

View File

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

View File

@@ -35,11 +35,17 @@ func Connect() {
var err error
err = Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil {
log.Panicln("KAFKA Connect() host: ", Settings.KAFKA_HOST, " error: ", err)
} else {
log.Info("KAFKA Connect() OK, host: ", Settings.KAFKA_HOST)
}
}
// Connect_err - подключается к серверу Nats и возвращает ошибку
@@ -61,10 +67,12 @@ func Connect_err() error {
// StartKafka - необходимые процедуры для подключения к серверу Kafka
func StartKafka() {
Connect()
var err error
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
ctx := contextmain.GetContext()
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
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()
fiber_connect.Settings.WEBSERVER_HOST = Settings.LIVENESS_HOST
fiber_connect.Settings.WEBSERVER_PORT = Settings.LIVENESS_PORT
@@ -51,22 +69,7 @@ func Start() {
log.Info("Liveness start OK. URL: ", LIVENESS_URL)
}
// 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
//return err
}
// Handlerliveness - обрабатывает GET запросы

View File

@@ -52,6 +52,12 @@ func Connect() {
//ping.CheckPort(Settings.MINIO_HOST, Settings.MINIO_PORT)
err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil {
log.Panicln("Minio Connect_err() host: ", Settings.MINIO_HOST, ", Error: ", err)
} else {
@@ -195,13 +201,12 @@ func WaitStop() {
// StartMinio - необходимые процедуры для подключения к серверу Minio
func StartMinio() {
Connect()
var err error
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)
LogInfo_Connected(err)
}

View File

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

View File

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

View File

@@ -36,11 +36,17 @@ func Connect() {
var err error
err = Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil {
log.Panicln("NATS Connect() error: ", err)
} else {
log.Info("NATS Connect() ok ")
}
}
// Connect_err - подключается к серверу Nats и возвращает ошибку
@@ -64,10 +70,12 @@ func Connect_err() error {
// StartNats - необходимые процедуры для подключения к серверу Nats
func StartNats() {
Connect()
var err error
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
ctx := contextmain.GetContext()
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
func Connect() {
err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil {
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 и возвращает ошибку
@@ -191,24 +198,10 @@ func CheckSettingsNATS() error {
func Start(ServiceName string) {
var err error
//
err = CheckSettingsNATS()
if err != nil {
return
}
//
FillSettings(ServiceName)
Connect()
stopapp.GetWaitGroup_Main().Add(1)
go WaitStop()
Ticker = time.NewTicker(5 * time.Second)
stopapp.GetWaitGroup_Main().Add(1)
go SendMessages_go()
ctx := contextmain.GetContext()
WaitGroup := stopapp.GetWaitGroup_Main()
err = Start_ctx(&ctx, WaitGroup, ServiceName)
LogInfo_Connected(err)
}

View File

@@ -53,8 +53,14 @@ func Connect() {
port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT)
err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
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 {
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 - делает соединение с БД, отключение и др.
func StartDB() {
Connect()
var err error
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)
LogInfo_Connected(err)
}

View File

@@ -62,6 +62,12 @@ func Connect() {
port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT)
err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil {
log.Panicln("POSTGRES gorm Connect() to database host: ", Settings.DB_HOST, ", Error: ", err)
} else {
@@ -278,13 +284,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др.
func StartDB() {
Connect()
var err error
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)
LogInfo_Connected(err)
}

View File

@@ -63,6 +63,12 @@ func Connect() {
port_checker.CheckPort(Settings.DB_HOST, Settings.DB_PORT)
err := Connect_err()
LogInfo_Connected(err)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error) {
if err != nil {
log.Panicln("POSTGRES pgx Connect() to database host: ", Settings.DB_HOST, ", Error: ", err)
} else {
@@ -241,13 +247,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др.
func StartDB() {
Connect()
var err error
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)
LogInfo_Connected(err)
}

View File

@@ -57,6 +57,12 @@ func Connect(Connection connections.Connection) {
port_checker.CheckPort(Connection.Server, Connection.Port)
err := Connect_err(Connection)
LogInfo_Connected(err, Connection)
}
// LogInfo_Connected - выводит сообщение в Лог, или паника при ошибке
func LogInfo_Connected(err error, Connection connections.Connection) {
if err != nil {
log.Panicln("POSTGRES gorm stack Connect() to database host: ", Connection.Server, ", Error: ", err)
} else {
@@ -271,13 +277,12 @@ func WaitStop() {
// StartDB - делает соединение с БД, отключение и др.
func StartDB(Connection connections.Connection) {
Connect(Connection)
var err error
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, Connection)
LogInfo_Connected(err, Connection)
}

View File

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

View File

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

View File

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