mirror of
https://github.com/ManyakRus/crud_generator.git
synced 2024-12-22 00:36:41 +02:00
сделал mutex_GetVersionModel
This commit is contained in:
parent
67682e3d65
commit
67ca0be64c
@ -2,6 +2,7 @@ package grpc_client
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"github.com/ManyakRus/starter/contextmain"
|
"github.com/ManyakRus/starter/contextmain"
|
||||||
"github.com/ManyakRus/starter/log"
|
"github.com/ManyakRus/starter/log"
|
||||||
"github.com/ManyakRus/starter/port_checker"
|
"github.com/ManyakRus/starter/port_checker"
|
||||||
@ -31,8 +32,8 @@ var Conn *grpc.ClientConn
|
|||||||
// Client - подключение к клиенту GRPC
|
// Client - подключение к клиенту GRPC
|
||||||
var Client grpc_proto.SyncServiceClient
|
var Client grpc_proto.SyncServiceClient
|
||||||
|
|
||||||
// mutexReconnect - защита от многопоточности Reconnect()
|
// mutex_Connect - защита от многопоточности Reconnect()
|
||||||
var mutexReconnect = &sync.Mutex{}
|
var mutex_Connect = &sync.Mutex{}
|
||||||
|
|
||||||
// NeedReconnect - флаг необходимости переподключения
|
// NeedReconnect - флаг необходимости переподключения
|
||||||
var NeedReconnect bool
|
var NeedReconnect bool
|
||||||
@ -56,8 +57,16 @@ func Connect() {
|
|||||||
func Connect_err() error {
|
func Connect_err() error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
|
//
|
||||||
|
mutex_Connect.Lock()
|
||||||
|
defer mutex_Connect.Unlock()
|
||||||
|
|
||||||
|
//
|
||||||
if Settings.SYNC_SERVICE_HOST == "" {
|
if Settings.SYNC_SERVICE_HOST == "" {
|
||||||
FillSettings()
|
err = FillSettings()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addr := Settings.SYNC_SERVICE_HOST + ":" + Settings.SYNC_SERVICE_PORT
|
addr := Settings.SYNC_SERVICE_HOST + ":" + Settings.SYNC_SERVICE_PORT
|
||||||
@ -67,18 +76,26 @@ func Connect_err() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func FillSettings() {
|
func FillSettings() error {
|
||||||
|
var err error
|
||||||
|
|
||||||
Settings = SettingsINI{}
|
Settings = SettingsINI{}
|
||||||
Settings.SYNC_SERVICE_HOST = os.Getenv("SYNC_SERVICE_HOST")
|
Settings.SYNC_SERVICE_HOST = os.Getenv("SYNC_SERVICE_HOST")
|
||||||
Settings.SYNC_SERVICE_PORT = os.Getenv("SYNC_SERVICE_PORT")
|
Settings.SYNC_SERVICE_PORT = os.Getenv("SYNC_SERVICE_PORT")
|
||||||
|
|
||||||
if Settings.SYNC_SERVICE_HOST == "" {
|
if Settings.SYNC_SERVICE_HOST == "" {
|
||||||
log.Panic("Need fill SYNC_SERVICE_HOST ! in OS Environment ")
|
TextError := "Need fill SYNC_SERVICE_HOST ! in OS Environment "
|
||||||
|
err = errors.New(TextError)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if Settings.SYNC_SERVICE_PORT == "" {
|
if Settings.SYNC_SERVICE_PORT == "" {
|
||||||
log.Panic("Need fill SYNC_SERVICE_PORT ! in OS Environment ")
|
TextError := "Need fill SYNC_SERVICE_PORT ! in OS Environment "
|
||||||
|
err = errors.New(TextError)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// WaitStop - ожидает отмену глобального контекста
|
// WaitStop - ожидает отмену глобального контекста
|
||||||
@ -99,20 +116,9 @@ func WaitStop() {
|
|||||||
|
|
||||||
// Start - необходимые процедуры для запуска сервера GRPC
|
// Start - необходимые процедуры для запуска сервера GRPC
|
||||||
// если контекст хранится в contextmain.GetContext()
|
// если контекст хранится в contextmain.GetContext()
|
||||||
|
// и есть stopapp.GetWaitGroup_Main()
|
||||||
|
// при ошибке вызывает панику
|
||||||
func Start() {
|
func Start() {
|
||||||
contextmain.GetContext()
|
|
||||||
ctx := contextmain.Ctx
|
|
||||||
wg := stopapp.GetWaitGroup_Main()
|
|
||||||
Start_ctx(ctx, wg)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start_ctx - необходимые процедуры для запуска сервера GRPC
|
|
||||||
// ctx - глобальный контекст приложения
|
|
||||||
// wg - глобальный WaitGroup приложения
|
|
||||||
func Start_ctx(ctx *context.Context, wg *sync.WaitGroup) {
|
|
||||||
contextmain.Ctx = ctx
|
|
||||||
stopapp.SetWaitGroup_Main(wg)
|
|
||||||
|
|
||||||
Connect()
|
Connect()
|
||||||
|
|
||||||
stopapp.GetWaitGroup_Main().Add(1)
|
stopapp.GetWaitGroup_Main().Add(1)
|
||||||
@ -123,6 +129,28 @@ func Start_ctx(ctx *context.Context, wg *sync.WaitGroup) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Start_ctx - необходимые процедуры для запуска сервера GRPC
|
||||||
|
// ctx - глобальный контекст приложения
|
||||||
|
// wg - глобальный WaitGroup приложения
|
||||||
|
func Start_ctx(ctx *context.Context, wg *sync.WaitGroup) error {
|
||||||
|
var err error
|
||||||
|
contextmain.Ctx = ctx
|
||||||
|
stopapp.SetWaitGroup_Main(wg)
|
||||||
|
|
||||||
|
err = Connect_err()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
stopapp.GetWaitGroup_Main().Add(1)
|
||||||
|
go WaitStop()
|
||||||
|
|
||||||
|
stopapp.GetWaitGroup_Main().Add(1)
|
||||||
|
go ping_go()
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// CloseConnection - закрывает подключение к GRPC, и пишет лог
|
// CloseConnection - закрывает подключение к GRPC, и пишет лог
|
||||||
func CloseConnection() {
|
func CloseConnection() {
|
||||||
err := CloseConnection_err()
|
err := CloseConnection_err()
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
//Файл создан автоматически кодогенератором crud_generator
|
//Файл создан автоматически кодогенератором crud_generator
|
||||||
//Не изменяйте ничего здесь.
|
//Не изменяйте ничего здесь.
|
||||||
|
|
||||||
|
//Файл создан автоматически кодогенератором crud_generator
|
||||||
|
//Не изменяйте ничего здесь.
|
||||||
|
|
||||||
package nrpc_client
|
package nrpc_client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"github.com/ManyakRus/starter/contextmain"
|
"github.com/ManyakRus/starter/contextmain"
|
||||||
"github.com/ManyakRus/starter/log"
|
"github.com/ManyakRus/starter/log"
|
||||||
"github.com/ManyakRus/starter/port_checker"
|
"github.com/ManyakRus/starter/port_checker"
|
||||||
@ -34,8 +38,8 @@ var Conn *nats.Conn
|
|||||||
// Client - подключение к клиенту NRPC
|
// Client - подключение к клиенту NRPC
|
||||||
var Client *grpc_proto.Sync_serviceClient
|
var Client *grpc_proto.Sync_serviceClient
|
||||||
|
|
||||||
// mutexReconnect - защита от многопоточности Reconnect()
|
// mutex_Connect - защита от многопоточности Reconnect()
|
||||||
var mutexReconnect = &sync.Mutex{}
|
var mutex_Connect = &sync.Mutex{}
|
||||||
|
|
||||||
// NeedReconnect - флаг необходимости переподключения
|
// NeedReconnect - флаг необходимости переподключения
|
||||||
var NeedReconnect bool
|
var NeedReconnect bool
|
||||||
@ -59,6 +63,10 @@ func Connect() {
|
|||||||
func Connect_err() error {
|
func Connect_err() error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
|
//
|
||||||
|
mutex_Connect.Lock()
|
||||||
|
defer mutex_Connect.Unlock()
|
||||||
|
|
||||||
if Settings.NATS_HOST == "" {
|
if Settings.NATS_HOST == "" {
|
||||||
FillSettings()
|
FillSettings()
|
||||||
}
|
}
|
||||||
@ -78,7 +86,9 @@ func Connect_err() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FillSettings - заполняет настройки из переменных окружения
|
// FillSettings - заполняет настройки из переменных окружения
|
||||||
func FillSettings() {
|
func FillSettings() error {
|
||||||
|
var err error
|
||||||
|
|
||||||
Settings = SettingsINI{}
|
Settings = SettingsINI{}
|
||||||
Settings.NATS_HOST = os.Getenv("NATS_HOST")
|
Settings.NATS_HOST = os.Getenv("NATS_HOST")
|
||||||
Settings.NATS_PORT = os.Getenv("NATS_PORT")
|
Settings.NATS_PORT = os.Getenv("NATS_PORT")
|
||||||
@ -93,12 +103,18 @@ func FillSettings() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if Settings.NATS_HOST == "" {
|
if Settings.NATS_HOST == "" {
|
||||||
log.Panic("Need fill BUS_LOCAL_HOST ! in OS Environment ")
|
TextError := "Need fill BUS_LOCAL_HOST ! in OS Environment "
|
||||||
|
err = errors.New(TextError)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if Settings.NATS_PORT == "" {
|
if Settings.NATS_PORT == "" {
|
||||||
log.Panic("Need fill BUS_LOCAL_PORT ! in OS Environment ")
|
TextError := "Need fill BUS_LOCAL_PORT ! in OS Environment "
|
||||||
|
err = errors.New(TextError)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// WaitStop - ожидает отмену глобального контекста
|
// WaitStop - ожидает отмену глобального контекста
|
||||||
@ -119,20 +135,9 @@ func WaitStop() {
|
|||||||
|
|
||||||
// Start - необходимые процедуры для запуска сервера NRPC
|
// Start - необходимые процедуры для запуска сервера NRPC
|
||||||
// если контекст хранится в contextmain.GetContext()
|
// если контекст хранится в contextmain.GetContext()
|
||||||
|
// и есть stopapp.GetWaitGroup_Main()
|
||||||
|
// при ошибке вызывает панику
|
||||||
func Start() {
|
func Start() {
|
||||||
contextmain.GetContext()
|
|
||||||
ctx := contextmain.Ctx
|
|
||||||
wg := stopapp.GetWaitGroup_Main()
|
|
||||||
Start_ctx(ctx, wg)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Start_ctx - необходимые процедуры для запуска сервера NRPC
|
|
||||||
// ctx - глобальный контекст приложения
|
|
||||||
// wg - глобальный WaitGroup приложения
|
|
||||||
func Start_ctx(ctx *context.Context, wg *sync.WaitGroup) {
|
|
||||||
contextmain.Ctx = ctx
|
|
||||||
stopapp.SetWaitGroup_Main(wg)
|
|
||||||
|
|
||||||
Connect()
|
Connect()
|
||||||
|
|
||||||
stopapp.GetWaitGroup_Main().Add(1)
|
stopapp.GetWaitGroup_Main().Add(1)
|
||||||
@ -143,6 +148,28 @@ func Start_ctx(ctx *context.Context, wg *sync.WaitGroup) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Start_ctx - необходимые процедуры для запуска сервера NRPC
|
||||||
|
// ctx - глобальный контекст приложения
|
||||||
|
// wg - глобальный WaitGroup приложения
|
||||||
|
func Start_ctx(ctx *context.Context, wg *sync.WaitGroup) error {
|
||||||
|
var err error
|
||||||
|
contextmain.Ctx = ctx
|
||||||
|
stopapp.SetWaitGroup_Main(wg)
|
||||||
|
|
||||||
|
err = Connect_err()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
stopapp.GetWaitGroup_Main().Add(1)
|
||||||
|
go WaitStop()
|
||||||
|
|
||||||
|
stopapp.GetWaitGroup_Main().Add(1)
|
||||||
|
go ping_go()
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// CloseConnection - закрывает подключение к NATS
|
// CloseConnection - закрывает подключение к NATS
|
||||||
func CloseConnection() {
|
func CloseConnection() {
|
||||||
Conn.Close()
|
Conn.Close()
|
||||||
|
Loading…
Reference in New Issue
Block a user