PHP Classes

File: config.go

Recommend this page to a friend!
  Classes of Wolfy-J   roadrunner   config.go   Download  
File: config.go
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: roadrunner
Run multiple tasks of PHP in parallel using Golang
Author: By
Last change:
Date: 5 years ago
Size: 1,183 bytes


Class file image Download
package roadrunner import ( "fmt" "time" ) // Config defines basic behaviour of worker creation and handling process. type Config struct { // NumWorkers defines how many sub-processes can be run at once. This value // might be doubled by Swapper while hot-swap. NumWorkers uint64 // MaxExecutions defines how many executions is allowed for the worker until // it's destruction. set 1 to create new process for each new task, 0 to let // worker handle as many tasks as it can. MaxExecutions uint64 // AllocateTimeout defines for how long pool will be waiting for a worker to // be freed to handle the task. AllocateTimeout time.Duration // DestroyTimeout defines for how long pool should be waiting for worker to // properly stop, if timeout reached worker will be killed. DestroyTimeout time.Duration } // Valid returns error if config not valid func (cfg *Config) Valid() error { if cfg.NumWorkers == 0 { return fmt.Errorf("config.NumWorkers must be set") } if cfg.AllocateTimeout == 0 { return fmt.Errorf("config.AllocateTimeout must be set") } if cfg.DestroyTimeout == 0 { return fmt.Errorf("config.DestroyTimeout must be set") } return nil }