summaryrefslogtreecommitdiff
path: root/factory.go
blob: 482d39f86cad90e65db38b11d5f974297603b272 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package roadrunner

import (
	"context"
	"os/exec"
)

// Factory is responsible of wrapping given command into tasks WorkerProcess.
type Factory interface {
	// SpawnWorker creates new WorkerProcess process based on given command.
	// Process must not be started.
	SpawnWorkerWithContext(context.Context, *exec.Cmd) (WorkerBase, error)

	SpawnWorker(*exec.Cmd) (WorkerBase, error)

	// Close the factory and underlying connections.
	Close(ctx context.Context) error
}