Documentation ¶
Index ¶
- Variables
- func All(actions ...func()) func()
- func CropImage(bin []byte, quality, x, y, width, height int) ([]byte, error)
- func DefaultBackoff(interval time.Duration) time.Duration
- func Dump(list ...interface{}) string
- func E(args ...interface{}) []interface{}
- func EscapeGoString(s string) string
- func Exec(name string, args ...string)
- func FileExists(path string) bool
- func Mkdir(path string) error
- func MustToJSON(data interface{}) string
- func MustToJSONBytes(data interface{}) []byte
- func OutputFile(p string, data interface{}) error
- func Pause()
- func RandString(len int) string
- func ReadString(p string) (string, error)
- func Retry(ctx context.Context, s Sleeper, fn func() (stop bool, err error)) error
- func S(tpl string, params ...interface{}) string
- func SetCmdStdPipe(cmd *exec.Cmd)
- func Sleep(seconds float64)
- type ErrMaxSleepCount
- type IdleCounter
- type Log
- type Logger
- type Sleeper
Constants ¶
This section is empty.
Variables ¶
var InContainer = FileExists("/.dockerenv") || FileExists("/.containerenv")
InContainer will be true if is inside container environment, such as docker
Functions ¶
func All ¶ added in v0.52.0
func All(actions ...func()) func()
All runs all actions concurrently, returns the wait function for all actions.
func DefaultBackoff ¶ added in v0.52.0
DefaultBackoff algorithm: A(n) = A(n-1) * random[1.9, 2.1)
func EscapeGoString ¶ added in v0.62.0
EscapeGoString not using encoding like base64 or gzip because of they will make git diff every large for small change
func FileExists ¶ added in v0.52.0
FileExists checks if file exists, only for file, not for dir
func MustToJSON ¶ added in v0.52.0
func MustToJSON(data interface{}) string
MustToJSON encode data to json string
func MustToJSONBytes ¶ added in v0.52.0
func MustToJSONBytes(data interface{}) []byte
MustToJSONBytes encode data to json bytes
func OutputFile ¶ added in v0.52.0
OutputFile auto creates file if not exists, it will try to detect the data type and auto output binary, string or json
func RandString ¶ added in v0.52.0
RandString generate random string with specified string length
func ReadString ¶ added in v0.52.0
ReadString reads file as string
Types ¶
type ErrMaxSleepCount ¶ added in v0.52.0
type ErrMaxSleepCount struct { // Max count Max int }
ErrMaxSleepCount type
func (*ErrMaxSleepCount) Error ¶ added in v0.92.0
func (e *ErrMaxSleepCount) Error() string
Error interface
func (*ErrMaxSleepCount) Is ¶ added in v0.92.0
func (e *ErrMaxSleepCount) Is(err error) bool
Is interface
type IdleCounter ¶ added in v0.69.0
type IdleCounter struct {
// contains filtered or unexported fields
}
IdleCounter is similar to sync.WaitGroup but it only resolves if no jobs for specified duration.
func NewIdleCounter ¶ added in v0.69.0
func NewIdleCounter(d time.Duration) *IdleCounter
NewIdleCounter ...
func (*IdleCounter) Wait ¶ added in v0.69.0
func (de *IdleCounter) Wait(ctx context.Context)
Wait ...
type Log ¶ added in v0.70.0
type Log func(msg ...interface{})
Log type for Println
func MultiLogger ¶ added in v0.74.0
MultiLogger is similar to https://golang.org/pkg/io/#MultiWriter
type Logger ¶ added in v0.70.0
type Logger interface {
// Same as fmt.Printf
Println(...interface{})
}
Logger interface
var LoggerQuiet Logger = loggerQuiet{}
LoggerQuiet does nothing
type Sleeper ¶ added in v0.52.0
Sleeper sleeps the current gouroutine for sometime, returns the reason to wake, if ctx is done release resource
func BackoffSleeper ¶ added in v0.52.0
func BackoffSleeper(init, maxInterval time.Duration, algorithm func(time.Duration) time.Duration) Sleeper
BackoffSleeper returns a sleeper that sleeps in a backoff manner every time get called. If algorithm is nil, DefaultBackoff will be used. Set interval and maxInterval to the same value to make it a constant sleeper. If maxInterval is not greater than 0, the sleeper will wake immediately.
func CountSleeper ¶ added in v0.52.0
CountSleeper wakes immediately. When counts to the max returns *ErrMaxSleepCount
func EachSleepers ¶ added in v0.92.0
EachSleepers returns a sleeper wakes up when each sleeper is awake. If a sleeper returns error, it will wake up immediately.
func RaceSleepers ¶ added in v0.92.0
RaceSleepers returns a sleeper wakes up when one of the sleepers wakes.