Skip to content

Commit

Permalink
Merge pull request #93 from nerdalize/feature/worker-input-ds
Browse files Browse the repository at this point in the history
Worker start input dataset
  • Loading branch information
borismattijssen committed May 26, 2017
2 parents 61f9ef2 + f655b90 commit 3f925e0
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 13 deletions.
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
0.4.11
0.4.12
5 changes: 3 additions & 2 deletions command/worker_start.go
Expand Up @@ -16,7 +16,8 @@ import (

//WorkerStartOpts describes command options
type WorkerStartOpts struct {
Env []string `long:"env" short:"e" description:"environment variables"`
Env []string `long:"env" short:"e" description:"environment variables"`
InputDataset string `long:"input-dataset" short:"i" description:"input dataset ID, will be available in /input in your container"`
}

//WorkerStart command
Expand Down Expand Up @@ -97,7 +98,7 @@ func (cmd *WorkerStart) DoRun(args []string) (err error) {
wenv[EnvConfigJSON] = string(configJSON)
wenv[EnvNerdProject] = ss.Project.Name

worker, err := bclient.StartWorker(ss.Project.Name, args[0], args[1], wenv)
worker, err := bclient.StartWorker(ss.Project.Name, args[0], args[1], wenv, cmd.opts.InputDataset)
if err != nil {
HandleError(err)
}
Expand Down
9 changes: 5 additions & 4 deletions nerd/client/batch/v1/payload/worker.go
Expand Up @@ -2,10 +2,11 @@ package v1payload

//StartWorkerInput is input for queue creation
type StartWorkerInput struct {
ProjectID string `json:"project_id" valid:"required"`
Image string `json:"image" valid:"required"`
QueueID string `json:"queue_id" valid:"required"`
Env map[string]string `json:"env"`
ProjectID string `json:"project_id" valid:"required"`
Image string `json:"image" valid:"required"`
QueueID string `json:"queue_id" valid:"required"`
InputDatasetID string `json:"input_dataset_id"`
Env map[string]string `json:"env"`
}

//StartWorkerOutput is output for queue creation
Expand Down
13 changes: 7 additions & 6 deletions nerd/client/batch/v1/worker.go
Expand Up @@ -8,19 +8,20 @@ import (

//ClientWorkerInterface is an interface for placement of project
type ClientWorkerInterface interface {
StartWorker(projectID, image, queueID string, env map[string]string) (output *v1payload.StartWorkerOutput, err error)
StartWorker(projectID, image, queueID string, env map[string]string, inputDatasetID string) (output *v1payload.StartWorkerOutput, err error)
StopWorker(projectID, workerID string) (output *v1payload.StopWorkerOutput, err error)
ListWorkers(projectID string) (output *v1payload.ListWorkersOutput, err error)
}

//StartWorker will create worker
func (c *Client) StartWorker(projectID, image, queueID string, env map[string]string) (output *v1payload.StartWorkerOutput, err error) {
func (c *Client) StartWorker(projectID, image, queueID string, env map[string]string, inputDatasetID string) (output *v1payload.StartWorkerOutput, err error) {
output = &v1payload.StartWorkerOutput{}
input := &v1payload.StartWorkerInput{
ProjectID: projectID,
Image: image,
QueueID: queueID,
Env: env,
ProjectID: projectID,
Image: image,
QueueID: queueID,
InputDatasetID: inputDatasetID,
Env: env,
}

return output, c.doRequest(http.MethodPost, createPath(projectID, workersEndpoint), input, output)
Expand Down

0 comments on commit 3f925e0

Please sign in to comment.