Unified Command field names
Some parts of Flamenco had a Command consist of "name + settings", and other parts used "type + parameters" (with the same semantics). This is now unified to "name + parameters".
This commit is contained in:
parent
6a7545f334
commit
ef2bbd2845
@ -256,8 +256,8 @@ func (f *Flamenco) ScheduleTask(e echo.Context) error {
|
|||||||
apiCommands := []api.Command{}
|
apiCommands := []api.Command{}
|
||||||
for _, cmd := range dbTask.Commands {
|
for _, cmd := range dbTask.Commands {
|
||||||
apiCommands = append(apiCommands, api.Command{
|
apiCommands = append(apiCommands, api.Command{
|
||||||
Name: cmd.Type,
|
Name: cmd.Name,
|
||||||
Settings: cmd.Parameters,
|
Parameters: cmd.Parameters,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
apiTask := api.AssignedTask{
|
apiTask := api.AssignedTask{
|
||||||
|
@ -70,7 +70,7 @@ type AuthoredTask struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type AuthoredCommand struct {
|
type AuthoredCommand struct {
|
||||||
Type string
|
Name string
|
||||||
Parameters AuthoredCommandParameters
|
Parameters AuthoredCommandParameters
|
||||||
}
|
}
|
||||||
type AuthoredCommandParameters map[string]interface{}
|
type AuthoredCommandParameters map[string]interface{}
|
||||||
@ -96,8 +96,8 @@ func (a *Author) Task(name string, taskType string) (*AuthoredTask, error) {
|
|||||||
return &at, nil
|
return &at, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Author) Command(cmdType string, parameters AuthoredCommandParameters) (*AuthoredCommand, error) {
|
func (a *Author) Command(cmdName string, parameters AuthoredCommandParameters) (*AuthoredCommand, error) {
|
||||||
ac := AuthoredCommand{cmdType, parameters}
|
ac := AuthoredCommand{cmdName, parameters}
|
||||||
return &ac, nil
|
return &ac, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ func TestSimpleBlenderRenderHappy(t *testing.T) {
|
|||||||
assert.NotEmpty(t, t0.UUID)
|
assert.NotEmpty(t, t0.UUID)
|
||||||
assert.Equal(t, "render-1-3", t0.Name)
|
assert.Equal(t, "render-1-3", t0.Name)
|
||||||
assert.Equal(t, 1, len(t0.Commands))
|
assert.Equal(t, 1, len(t0.Commands))
|
||||||
assert.Equal(t, "blender-render", t0.Commands[0].Type)
|
assert.Equal(t, "blender-render", t0.Commands[0].Name)
|
||||||
assert.EqualValues(t, AuthoredCommandParameters{
|
assert.EqualValues(t, AuthoredCommandParameters{
|
||||||
"exe": "{blender}",
|
"exe": "{blender}",
|
||||||
"blendfile": settings["filepath"].(string),
|
"blendfile": settings["filepath"].(string),
|
||||||
@ -124,7 +124,7 @@ func TestSimpleBlenderRenderHappy(t *testing.T) {
|
|||||||
assert.NotEmpty(t, tVideo.UUID)
|
assert.NotEmpty(t, tVideo.UUID)
|
||||||
assert.Equal(t, "create-video", tVideo.Name)
|
assert.Equal(t, "create-video", tVideo.Name)
|
||||||
assert.Equal(t, 1, len(tVideo.Commands))
|
assert.Equal(t, 1, len(tVideo.Commands))
|
||||||
assert.Equal(t, "create-video", tVideo.Commands[0].Type)
|
assert.Equal(t, "create-video", tVideo.Commands[0].Name)
|
||||||
assert.EqualValues(t, AuthoredCommandParameters{
|
assert.EqualValues(t, AuthoredCommandParameters{
|
||||||
"input_files": "/render/sprites/farm_output/promo/square_ellie/square_ellie.lighting_light_breakdown2__intermediate-2006-01-02_090405/*.png",
|
"input_files": "/render/sprites/farm_output/promo/square_ellie/square_ellie.lighting_light_breakdown2__intermediate-2006-01-02_090405/*.png",
|
||||||
"output_file": "/render/sprites/farm_output/promo/square_ellie/square_ellie.lighting_light_breakdown2__intermediate-2006-01-02_090405/scene123-1-10.mp4",
|
"output_file": "/render/sprites/farm_output/promo/square_ellie/square_ellie.lighting_light_breakdown2__intermediate-2006-01-02_090405/scene123-1-10.mp4",
|
||||||
|
@ -73,7 +73,7 @@ type Task struct {
|
|||||||
type Commands []Command
|
type Commands []Command
|
||||||
|
|
||||||
type Command struct {
|
type Command struct {
|
||||||
Type string `json:"type"`
|
Name string `json:"name"`
|
||||||
Parameters StringInterfaceMap `json:"parameters"`
|
Parameters StringInterfaceMap `json:"parameters"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ func (db *DB) StoreAuthoredJob(ctx context.Context, authoredJob job_compilers.Au
|
|||||||
UUID: authoredJob.JobID,
|
UUID: authoredJob.JobID,
|
||||||
Name: authoredJob.Name,
|
Name: authoredJob.Name,
|
||||||
JobType: authoredJob.JobType,
|
JobType: authoredJob.JobType,
|
||||||
Status: string(api.JobStatusUnderConstruction),
|
Status: string(authoredJob.Status),
|
||||||
Priority: authoredJob.Priority,
|
Priority: authoredJob.Priority,
|
||||||
Settings: StringInterfaceMap(authoredJob.Settings),
|
Settings: StringInterfaceMap(authoredJob.Settings),
|
||||||
Metadata: StringStringMap(authoredJob.Metadata),
|
Metadata: StringStringMap(authoredJob.Metadata),
|
||||||
@ -134,7 +134,7 @@ func (db *DB) StoreAuthoredJob(ctx context.Context, authoredJob job_compilers.Au
|
|||||||
var commands []Command
|
var commands []Command
|
||||||
for _, authoredCommand := range authoredTask.Commands {
|
for _, authoredCommand := range authoredTask.Commands {
|
||||||
commands = append(commands, Command{
|
commands = append(commands, Command{
|
||||||
Type: authoredCommand.Type,
|
Name: authoredCommand.Name,
|
||||||
Parameters: StringInterfaceMap(authoredCommand.Parameters),
|
Parameters: StringInterfaceMap(authoredCommand.Parameters),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ func TestStoreAuthoredJob(t *testing.T) {
|
|||||||
UUID: "db1f5481-4ef5-4084-8571-8460c547ecaa",
|
UUID: "db1f5481-4ef5-4084-8571-8460c547ecaa",
|
||||||
Commands: []job_compilers.AuthoredCommand{
|
Commands: []job_compilers.AuthoredCommand{
|
||||||
{
|
{
|
||||||
Type: "blender-render",
|
Name: "blender-render",
|
||||||
Parameters: job_compilers.AuthoredCommandParameters{
|
Parameters: job_compilers.AuthoredCommandParameters{
|
||||||
"exe": "{blender}",
|
"exe": "{blender}",
|
||||||
"blendfile": "/path/to/file.blend",
|
"blendfile": "/path/to/file.blend",
|
||||||
@ -67,7 +67,7 @@ func TestStoreAuthoredJob(t *testing.T) {
|
|||||||
UUID: "4915fb05-72f5-463e-a2f4-7efdb2584a1e",
|
UUID: "4915fb05-72f5-463e-a2f4-7efdb2584a1e",
|
||||||
Commands: []job_compilers.AuthoredCommand{
|
Commands: []job_compilers.AuthoredCommand{
|
||||||
{
|
{
|
||||||
Type: "merge-frames-to-video",
|
Name: "merge-frames-to-video",
|
||||||
Parameters: job_compilers.AuthoredCommandParameters{
|
Parameters: job_compilers.AuthoredCommandParameters{
|
||||||
"images": "/path/to/output/######.png",
|
"images": "/path/to/output/######.png",
|
||||||
"output": "/path/to/output/preview.mkv",
|
"output": "/path/to/output/preview.mkv",
|
||||||
|
@ -41,10 +41,10 @@ type BlenderSettings struct {
|
|||||||
// cmdBlender executes the "blender-render" command.
|
// cmdBlender executes the "blender-render" command.
|
||||||
func (ce *CommandExecutor) cmdBlenderRender(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
func (ce *CommandExecutor) cmdBlenderRender(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
||||||
settings := BlenderSettings{
|
settings := BlenderSettings{
|
||||||
exe: cmd.Settings["exe"].(string),
|
exe: cmd.Parameters["exe"].(string),
|
||||||
argsBefore: cmd.Settings["argsBefore"].([]string),
|
argsBefore: cmd.Parameters["argsBefore"].([]string),
|
||||||
blendfile: cmd.Settings["blendfile"].(string),
|
blendfile: cmd.Parameters["blendfile"].(string),
|
||||||
args: cmd.Settings["args"].([]string),
|
args: cmd.Parameters["args"].([]string),
|
||||||
}
|
}
|
||||||
if settings.exe == "" {
|
if settings.exe == "" {
|
||||||
logger.Warn().Interface("command", cmd).Msg("missing 'exe' setting")
|
logger.Warn().Interface("command", cmd).Msg("missing 'exe' setting")
|
||||||
|
@ -78,7 +78,7 @@ func NewCommandExecutor(listener CommandListener, timeService TimeService) *Comm
|
|||||||
|
|
||||||
func (ce *CommandExecutor) Run(ctx context.Context, taskID string, cmd api.Command) error {
|
func (ce *CommandExecutor) Run(ctx context.Context, taskID string, cmd api.Command) error {
|
||||||
logger := log.With().Str("task", string(taskID)).Str("command", cmd.Name).Logger()
|
logger := log.With().Str("task", string(taskID)).Str("command", cmd.Name).Logger()
|
||||||
logger.Info().Interface("settings", cmd.Settings).Msg("running command")
|
logger.Info().Interface("parameters", cmd.Parameters).Msg("running command")
|
||||||
|
|
||||||
runner, ok := ce.registry[cmd.Name]
|
runner, ok := ce.registry[cmd.Name]
|
||||||
if !ok {
|
if !ok {
|
||||||
|
@ -35,7 +35,7 @@ import (
|
|||||||
|
|
||||||
// cmdEcho executes the "echo" command.
|
// cmdEcho executes the "echo" command.
|
||||||
func (ce *CommandExecutor) cmdEcho(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
func (ce *CommandExecutor) cmdEcho(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
||||||
message, ok := cmd.Settings["message"]
|
message, ok := cmd.Parameters["message"]
|
||||||
if !ok {
|
if !ok {
|
||||||
return fmt.Errorf("missing 'message' setting")
|
return fmt.Errorf("missing 'message' setting")
|
||||||
}
|
}
|
||||||
@ -51,7 +51,7 @@ func (ce *CommandExecutor) cmdEcho(ctx context.Context, logger zerolog.Logger, t
|
|||||||
// cmdSleep executes the "sleep" command.
|
// cmdSleep executes the "sleep" command.
|
||||||
func (ce *CommandExecutor) cmdSleep(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
func (ce *CommandExecutor) cmdSleep(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
||||||
|
|
||||||
sleepTime, ok := cmd.Settings["duration_in_seconds"]
|
sleepTime, ok := cmd.Parameters["duration_in_seconds"]
|
||||||
if !ok {
|
if !ok {
|
||||||
return errors.New("missing setting 'duration_in_seconds'")
|
return errors.New("missing setting 'duration_in_seconds'")
|
||||||
}
|
}
|
||||||
|
@ -43,8 +43,8 @@ func TestCommandEcho(t *testing.T) {
|
|||||||
message := "понављај за мном"
|
message := "понављај за мном"
|
||||||
taskID := "90e9d656-e201-4ef0-b6b0-c80684fafa27"
|
taskID := "90e9d656-e201-4ef0-b6b0-c80684fafa27"
|
||||||
cmd := api.Command{
|
cmd := api.Command{
|
||||||
Name: "echo",
|
Name: "echo",
|
||||||
Settings: map[string]interface{}{"message": message},
|
Parameters: map[string]interface{}{"message": message},
|
||||||
}
|
}
|
||||||
|
|
||||||
listener.EXPECT().LogProduced(gomock.Any(), taskID, "echo: \"понављај за мном\"")
|
listener.EXPECT().LogProduced(gomock.Any(), taskID, "echo: \"понављај за мном\"")
|
||||||
@ -64,8 +64,8 @@ func TestCommandSleep(t *testing.T) {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
taskID := "90e9d656-e201-4ef0-b6b0-c80684fafa27"
|
taskID := "90e9d656-e201-4ef0-b6b0-c80684fafa27"
|
||||||
cmd := api.Command{
|
cmd := api.Command{
|
||||||
Name: "sleep",
|
Name: "sleep",
|
||||||
Settings: map[string]interface{}{"duration_in_seconds": 47},
|
Parameters: map[string]interface{}{"duration_in_seconds": 47},
|
||||||
}
|
}
|
||||||
|
|
||||||
listener.EXPECT().LogProduced(gomock.Any(), taskID, "slept 47s")
|
listener.EXPECT().LogProduced(gomock.Any(), taskID, "slept 47s")
|
||||||
|
@ -344,8 +344,8 @@ components:
|
|||||||
description: Command represents a single command to execute by the Worker.
|
description: Command represents a single command to execute by the Worker.
|
||||||
properties:
|
properties:
|
||||||
name: {type: string}
|
name: {type: string}
|
||||||
settings: {type: object}
|
parameters: {type: object}
|
||||||
required: [name, settings]
|
required: [name, parameters]
|
||||||
|
|
||||||
AvailableJobTypes:
|
AvailableJobTypes:
|
||||||
type: object
|
type: object
|
||||||
|
@ -18,62 +18,62 @@ import (
|
|||||||
// Base64 encoded, gzipped, json marshaled Swagger object
|
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||||
var swaggerSpec = []string{
|
var swaggerSpec = []string{
|
||||||
|
|
||||||
"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",
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetSwagger returns the content of the embedded swagger specification file
|
// GetSwagger returns the content of the embedded swagger specification file
|
||||||
|
@ -164,8 +164,8 @@ type AvailableJobTypes struct {
|
|||||||
|
|
||||||
// Command represents a single command to execute by the Worker.
|
// Command represents a single command to execute by the Worker.
|
||||||
type Command struct {
|
type Command struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Settings map[string]interface{} `json:"settings"`
|
Parameters map[string]interface{} `json:"parameters"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error defines model for Error.
|
// Error defines model for Error.
|
||||||
|
Loading…
Reference in New Issue
Block a user