Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
b055a7de1c | |||
f857d22142 | |||
b81d5a8988 | |||
db85184dca | |||
a59a278140 | |||
4774158f24 | |||
5f89d83094 | |||
f9109382cb |
9
.drone.yml
Executable file
9
.drone.yml
Executable file
@ -0,0 +1,9 @@
|
||||
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: "test"
|
||||
steps:
|
||||
- name: test
|
||||
image: harbor.front.kjuulh.io/docker-proxy/library/bash:latest
|
||||
commands:
|
||||
- echo 'Run tests'
|
54
manager.go
54
manager.go
@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"os"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -33,28 +34,34 @@ func NewManager() *Manager {
|
||||
type ComponentsAreReady struct {
|
||||
}
|
||||
|
||||
func (m *Manager) RunNonBlocking(ctx context.Context) error {
|
||||
m.initLifetime()
|
||||
err := m.init(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
type CleanupFunc func(ctx context.Context) error
|
||||
|
||||
err = m.startBlocking(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
func (m *Manager) RunNonBlocking(ctx context.Context, readyChan chan ComponentsAreReady) (CleanupFunc, error) {
|
||||
go func() error {
|
||||
m.initLifetime()
|
||||
err := m.init(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.wait(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = m.startBlocking(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.shutdown(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
readyChan <- ComponentsAreReady{}
|
||||
|
||||
err = m.wait(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}()
|
||||
|
||||
return func(ctx context.Context) error {
|
||||
return m.shutdown(ctx)
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (m *Manager) Run(ctx context.Context) error {
|
||||
@ -157,8 +164,13 @@ func (m *Manager) initLifetime() {
|
||||
}
|
||||
|
||||
func (m *Manager) wait(ctx context.Context) error {
|
||||
exitCode := <-m.exitChan
|
||||
m.exitCode = exitCode
|
||||
select {
|
||||
case exitCode := <-m.exitChan:
|
||||
m.exitCode = exitCode
|
||||
return nil
|
||||
case <-ctx.Done():
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
3
renovate.json
Normal file
3
renovate.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user