Package socket:

- Client: optimize code & memory
- Client: allow multiple send content for one connection
- Server: optmize code
- Server: optimize memory use & stream

Package server:
- Rework chan / cancel process
- Simplify & optimize chan / cancel process
- Add Function Action for Ticker as FuncTicker
- Rename type func Action to FuncAction

Package httpserver:
- Fix error on starting runner
- Log error on starting runner
- Optimize some code

Package config:
- Add log info for each starting / reloading component (if default logger is set)
- Add log error for starting error or not started for each component on start / reload (if default logger is set)

Package monitor:
- review ticker delay for starting puller (pass from 500ms to 50ms)

Other:
- bump dependencies
This commit is contained in:
Nicolas JUHEL
2024-03-07 15:12:20 +01:00
parent a9a4d1e7c2
commit b190739581
31 changed files with 707 additions and 792 deletions

View File

@@ -86,7 +86,27 @@ func (o *srv) runStart(ctx context.Context) error {
return ErrorServerValidate.Error(nil)
}
return o.r.Start(ctx)
if e := o.r.Start(ctx); e != nil {
return e
}
var x, n = context.WithTimeout(ctx, 30*time.Second)
defer n()
for !o.r.IsRunning() {
select {
case <-x.Done():
return errNotRunning
default:
time.Sleep(100 * time.Millisecond)
if o.r.IsRunning() {
return o.GetError()
}
}
}
return o.GetError()
}
func (o *srv) runStop(ctx context.Context) error {
@@ -239,3 +259,25 @@ func (o *srv) Uptime() time.Duration {
return 0
}
func (o *srv) IsError() bool {
if el := o.r.ErrorsList(); len(el) > 0 {
for _, e := range el {
if e != nil {
return true
}
}
}
return false
}
func (o *srv) GetError() error {
var err = ErrorServerStart.Error(o.r.ErrorsList()...)
if err.HasParent() {
return err
}
return nil
}