worker是flamenco的渲染节点,一般是带有GPU设备的计算机,manager收到任务后由worker取到任务来执行。
具体执行的方式是:manager已经确定好了支持哪些类型的job,比如渲染,使用的是blender,那么用户在提交此种类型的任务时就可以确定使用哪些参数,比如 -output example.png 指定输出图片的名称。worker中有对应的blender程序执行模块,取到此任务时他就在本地执行”blender -output example.png … “完成此项任务。
worker的定义:
// Worker performs regular Flamenco Worker operations.
type Worker struct {
doneChan chan struct{}
doneWg *sync.WaitGroup
// Will be closed by the Worker when it wants to shut down. See Worker.WaitForShutdown().
shutdown chan struct{}
restartAfterShutdown bool
client FlamencoClient
state api.WorkerStatus
stateStarters map[api.WorkerStatus]StateStarter // gotoStateXXX functions
stateMutex *sync.Mutex
taskRunner TaskRunner
}