Reader small image

You're reading from  Apache Mesos Cookbook

Product typeBook
Published inAug 2017
PublisherPackt
ISBN-139781785884627
Edition1st Edition
Right arrow
Authors (2):
David Blomquist
David Blomquist
author image
David Blomquist

David Blomquist been working with computers since the 1980s. His first computer was an Apple Macintosh and the first networked computer he managed was a 10 terminal Xenix system. Since that time, David has held positions in virtually every area of IT, including operations, development, and architecture. David now specializes in designing Big Data, HPC, and Grid Computing systems with applications in Health Care and Science. Most recently, he has designed and deployed several large-scale clusters for the Federal Government.
Read more about David Blomquist

View More author details
Right arrow

Killing tasks


In this recipe, we will ask Mesos to shut down a task.

How to do it...

Killing tasks is similar to launching tasks with one difference: tasks can be killed at any time.

Let's add support for the delete method in the web function:

case "DELETE":
     id := r.Form["id"][0]
     err := kill(id)
     if err != nil {
             fmt.Fprint(w, err)
     } else {
             fmt.Print(w, "KILLED")
     }

We need to implement the kill function. It'll be similar to acknowledge because it will only prepare and send a message to Mesos. To kill tasks, we need to know the task's ID. We will get it from the user and agent ID on which the task is launched. We need to modify our framework to keep track of the launched tasks. We will keep that in the global map, where task ID will be the key and task last update will be the value:

var tasksState = make(map[string]*TaskStatus)

This map will be updated every time we get an update. So in the hadleUpdate() function, we need to add the following:

tasksState...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Apache Mesos Cookbook
Published in: Aug 2017Publisher: PacktISBN-13: 9781785884627

Authors (2)

author image
David Blomquist

David Blomquist been working with computers since the 1980s. His first computer was an Apple Macintosh and the first networked computer he managed was a 10 terminal Xenix system. Since that time, David has held positions in virtually every area of IT, including operations, development, and architecture. David now specializes in designing Big Data, HPC, and Grid Computing systems with applications in Health Care and Science. Most recently, he has designed and deployed several large-scale clusters for the Federal Government.
Read more about David Blomquist