// mesos.Executor interface method. // Invoked when a task has been launched on this executor. func (this *HttpMirrorExecutor) LaunchTask(driver executor.ExecutorDriver, taskInfo *mesos.TaskInfo) { fmt.Printf("Launching task %s with command %s\n", taskInfo.GetName(), taskInfo.Command.GetValue()) runStatus := &mesos.TaskStatus{ TaskId: taskInfo.GetTaskId(), State: mesos.TaskState_TASK_RUNNING.Enum(), } fmt.Println(string(taskInfo.Data)) config := &consumer.PartitionConsumerConfig{} json.Unmarshal(taskInfo.Data, config) fmt.Printf("%v\n", config) this.partitionConsumer = consumer.NewPartitionConsumer(*config) if _, err := driver.SendStatusUpdate(runStatus); err != nil { fmt.Printf("Failed to send status update: %s\n", runStatus) } }
// mesos.Executor interface method. // Invoked when a task has been launched on this executor. func (this *HttpMirrorExecutor) LaunchTask(driver executor.ExecutorDriver, taskInfo *mesos.TaskInfo) { log.Logger.Info("Launching task %s with command %s", taskInfo.GetName(), taskInfo.Command.GetValue()) runStatus := &mesos.TaskStatus{ TaskId: taskInfo.GetTaskId(), State: mesos.TaskState_TASK_RUNNING.Enum(), } log.Logger.Debug(string(taskInfo.Data)) config := consumer.NewPartitionConsumerConfig("syphon") json.Unmarshal(taskInfo.Data, config) log.Logger.Debug("%v", config) this.partitionConsumer = consumer.NewPartitionConsumer(*config) if _, err := driver.SendStatusUpdate(runStatus); err != nil { log.Logger.Warn("Failed to send status update: %s", runStatus) } }