runner

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2021 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package runner provides implementation of process runner

Copyright (C) 2019-2021 vdaas.org vald team <vald@vdaas.org>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Do

func Do(ctx context.Context, opts ...Option) error

func Run

func Run(ctx context.Context, run Runner, name string) (err error)

Types

type Option

type Option func(*runner)

func WithConfigLoader

func WithConfigLoader(f func(string) (interface{}, *config.GlobalConfig, error)) Option

func WithDaemonInitializer

func WithDaemonInitializer(f func(interface{}) (Runner, error)) Option

func WithName

func WithName(name string) Option

func WithVersion

func WithVersion(ver, max, min string) Option

type Runner

type Runner interface {
	PreStart(ctx context.Context) error
	Start(ctx context.Context) (<-chan error, error)
	PreStop(ctx context.Context) error
	Stop(ctx context.Context) error
	PostStop(ctx context.Context) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL