func Intensity(intensity int) Option {
	return func(sc supervisorConf) supervisorConf {
		sc.intensity = intensity
		return sc
	}
}
Intensity of -1 means run worker forever.
package supervisor
import (
	"fmt"
	"time"
	"github.com/pkg/errors"
)
type supervisorConf struct {
	intensity int
	period    time.Duration
	onError   func(error)
}
type Option func(supervisorConf) supervisorConf